XmlHttpRequest返回值
我正在寻找(可以说)从XmlHttpRequest返回数据的正确方法。我看到的选项是:
- 纯HTML。让请求格式化数据并以可用格式返回它。优点:易于被调用页面使用。缺点:非常坚固,固定布局。
- XML。让请求返回XML,并在调用页面上使用XSLT对其进行格式化。优点:所请求的服务很容易被其他来源使用。缺点:浏览器对XSLT的支持是否足够好?
- JSON。让请求返回JSON,使用javascript使用它,并相应地呈现HTML。优点:可以更轻松地" OO-化"发出请求的javascript。缺点:可能不如前两个选项那么容易使用。
我还考虑过要在将选项抽象化到被调用服务中时选择选项一,这样就可以轻松地切入和切出不同的布局。我个人认为,出于兼容性原因,此选项是三个选项中的最佳选项。
键入此内容时,我得到了另一个见解。允许基于添加到请求中的参数的所有三种响应格式是一个好主意吗?
解决方案
回答
我认为这种类型取决于应用程序将具有的" ajaxyness"级别。如果前端是"富客户端"(例如gmail),我将使用JSON解决方案,因为我们必须解决无论如何都需要生成客户端视图的问题。如果我们很少使用ajax,向用户提供简单消息,不时更新一些字段,依此类推,那么我会选择选项1,因为大多数视图逻辑已在服务器上。
回答
不难产生不同的响应格式。
JSON最适合我,我喜欢将OO保留在js中,并且不知道如何很好地解析XML :)
回答
如果我们正在寻找一种适用于大多数可用框架的快速解决方案,那么我将使用JSON。它很容易入手并可以正常工作。
如果我们试图构建一个要扩展的更大的应用程序(就大小而言,或者可能是我们自己的第三方扩展的API),我会选择XML。我们也可以编写代理来以JSON或者HTML格式提供信息,但是在构建应用程序时,绝对值得花时间和精力来使用XML作为主要来源。
就像@John Topley说的:要看情况。
回答
我同意约翰·托普利的观点,这取决于应用程序。有一篇关于quirksmode的好文章,讨论了我们可能想阅读的每种格式的优缺点:http://www.quirksmode.org/blog/archives/2005/12/the_ajax_respon.html
回答
我认为尝试使用XmlHttpRequest将是一个巨大的麻烦,除非我们不介意正确地进行处理,否则我们几乎在重新发明轮子。再说一次,人们喜欢在业余时间重新发明轮子,只是说:"嘿,我做到了"。不是我...
我将获得一个像prototype或者Extjs这样的框架,该框架具有许多针对XML和JSON内置的数据加载功能,此外,由于该框架具有事件处理程序来确保XmlHttpRequest成功或者失败,因此我们将获得更可预测的结果。另外,我们还获得对所有各种浏览器的支持。