【发布时间】:2011-03-03 06:08:19
【问题描述】:
可能重复:
Please explain JSONP
例如,在 jQuery 文档中,我发现提到了 JSON 和 JSONP。究竟有什么区别?我怎样才能看到哪个是哪个?哪个应该用于什么?
PHP 函数json_encode 生成什么?
【问题讨论】:
-
对于基本/细微差别,维基百科是一个很好的资源:@987654322@
可能重复:
Please explain JSONP
例如,在 jQuery 文档中,我发现提到了 JSON 和 JSONP。究竟有什么区别?我怎样才能看到哪个是哪个?哪个应该用于什么?
PHP 函数json_encode 生成什么?
【问题讨论】:
JSON 是一种简单的数据格式。 JSONP 是一种将这种格式与跨域 ajax 请求一起使用而不受 Same Origin Policy 问题影响的方法。基本上,这个想法是,不是使用 ajax 来请求 JSON 编码的数据,而是向页面添加一个脚本标记,将数据作为 JavaScript 脚本加载,并对代码进行回调,说“这是数据”。这是因为应用于 JavaScript 脚本的“来源”是文档的来源,而不是脚本的来源,这意味着它可以访问您的代码以调用回调。
json_encode 生成 JSON。如果您需要启用跨域调用,您可以使用 json_encode 作为向系统提供 JSONP 接口的一部分。
另请参阅CORS,随着我们的发展,它可能会越来越多地用于此目的,但在 IE 中尚未得到很好的支持(IE7 及以下版本根本没有它;IE8 有它但需要客户端代码做一些特殊的事情;Chrome、Firefox 等都有它,并且不需要客户端代码做任何特殊的事情。
【讨论】: