JSONP,或带填充的 JSON,是JSON 的扩展版本,允许跨站点 AJAX 请求。它由括在括号中的字符串组成,如下例所示:
//JSON {"name":"stackoverflow","id":5} //JSONP func({"name":"stackoverflow","id":5});
JSON 数据通常存储为字符串,而 JSONP 封装在函数调用中。这允许它作为脚本文件加载。
JSON 和 JSONP 共享“.json”文件扩展名。
跨站点 AJAX: JSONP 允许不同站点之间的 AJAX 请求域。这是通过设置一个函数来在脚本文件加载完成后处理 JSON 数据来完成的。
例如,如果 example.com 提供前面所示格式的 JSONP 文件,您可以使用以下代码来从该域检索数据,即使您的网站未托管在 example.com 上:
function func(json){ alert(json.name); } var elm = document.createElement("script"); elm.setAttribute("type", "text/javascript"); elm.src = "http://example.com/jsonp"; document.body.appendChild(elm);
以上是JSON 与 JSONP:格式、文件类型和用例方面的主要区别是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!