9

如果您正在构建一个应用程序,即使您不打算处理任何请求AJA~Xy,使用请求/响应是否有任何缺点?JSONPcross-domain

我唯一能想到的是回调包装器有几个额外的字节......

编辑:

我发现也表明security and error handling潜在的问题......

没有错误处理。要么有效,script injection要么无效。如果injection来自server side.

我认为这不是error handling什么大问题……我们大多数人会使用库来生成JSON……我的回答的格式正确与这个问题无关。

和安全:

网上有一些文档可以提供帮助,但作为粗略的检查,我会检查server side脚本中的引用者。

这似乎是任何类型响应的潜在问题......当然,JSONP在安全领域没有什么独特的......?

4

4 回答 4

10

缺点?这是相当有限的——你触发一个“GET”请求并取回一些已执行的脚本。如果您的服务器抛出错误,您不会得到错误处理,因此您还需要将所有错误包装在 JSON 中。您无法真正取消或重试请求。您受各种浏览器作者对动态生成<script>标签的“正确”行为的看法的摆布。调试有点困难。

也就是说,我偶尔使用过它,并没有受到影响。YMMV。

于 2008-08-22T19:03:51.183 回答
5

可以在 jsonp 调用失败时检索错误。

http://code.google.com/p/jquery-jsonp/

希望能帮助到你。

于 2009-03-08T04:36:53.813 回答
2

我想说最大的限制可能是让浏览器渲染脚本标签来调用服务器的额外开销。另外,JSONP 是否真的被认为是 AJAX,因为它实际上并不使用 XMLHttpRequest 对象?

于 2008-08-21T02:22:16.980 回答
0

这是您可能要考虑使用 JSONP 的另一点 .. 可能的内存泄漏..

http://neil.fraser.name/news/2009/07/27/

于 2009-09-21T17:50:45.763 回答