【问题标题】:What is the difference between JSON and JSONP? [duplicate]JSON 和 JSONP 有什么区别? [复制]
【发布时间】:2011-03-03 06:08:19
【问题描述】:

可能重复:
Please explain JSONP

例如,在 jQuery 文档中,我发现提到了 JSON 和 JSONP。究竟有什么区别?我怎样才能看到哪个是哪个?哪个应该用于什么?

PHP 函数json_encode 生成什么?

【问题讨论】:

  • 对于基本/细微差别,维基百科是一个很好的资源:@​​987654322@

标签: php jquery json jsonp


【解决方案1】:

JSON 是一种简单的数据格式。 JSONP 是一种将这种格式与跨域 ajax 请求一起使用而不受 Same Origin Policy 问题影响的方法。基本上,这个想法是,不是使用 ajax 来请求 JSON 编码的数据,而是向页面添加一个脚本标记,将数据作为 JavaScript 脚本加载,并对代码进行回调,说“这是数据”。这是因为应用于 JavaScript 脚本的“来源”是文档的来源,而不是脚本的来源,这意味着它可以访问您的代码以调用回调。

json_encode 生成 JSON。如果您需要启用跨域调用,您可以使用 json_encode 作为向系统提供 JSONP 接口的一部分。

另请参阅CORS,随着我们的发展,它可能会越来越多地用于此目的,但在 IE 中尚未得到很好的支持(IE7 及以下版本根本没有它;IE8 有它但需要客户端代码做一些特殊的事情;Chrome、Firefox 等都有它,并且不需要客户端代码做任何特殊的事情。

【讨论】:

    猜你喜欢
    • 2014-08-12
    • 2011-02-22
    • 2011-10-30
    • 2011-04-27
    • 2015-11-23
    • 2013-02-13
    • 2011-04-26
    相关资源
    最近更新 更多