json - JSON 和 JSONP 有什么区别?

标签 json jsonp javascript

格式、文件类型和实际使用?

最佳答案

JSONP 是带有填充的 JSON。也就是说,您在开头放置一个字符串,并在其周围放置一对括号。例如:

//JSON
{"name":"stackoverflow","id":5}
//JSONP
func({"name":"stackoverflow","id":5});

结果是您可以将 JSON 作为脚本文件加载。如果您之前设置了一个名为 func 的函数,那么当脚本文件加载完成时,将使用一个参数调用该函数,即 JSON 数据。这通常用于允许使用 JSON 数据进行跨站点 AJAX。如果您知道 example.com 正在提供类似于上面给出的 JSONP 示例的 JSON 文件,那么您可以使用这样的代码来检索它,即使您不在 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 - JSON 和 JSONP 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2887209/

相关文章:

C/Youtube API 请求 > VLC

ios - 如何在 Swift/iOS 中解析 Json 并获取所需的值?

jquery - ajax 'GET' 调用返回 jsonp 正常,但回调产生 'undefined' 数据

javascript - Node/Express 中的环境变量到底是什么?

javascript - 从下拉列表中选择一个未使用 Puppeteer Select 实现的选项

javascript - 使用 javascript 函数设置 HTML 文本框值?

javascript - 在 PHP 中更新信息而不刷新页面

c# - 从SQL Server中提取XML数据解析成C#中的JSON格式化问题

java - 如何遍历JSON文件?

javascript - 如何使用 javascript 和 jQuery 从 JSON 中检索数据?