javascript - 这个 JavaScript 的作用是什么?

标签 javascript json

我正在我的博客上添加最近的视频小工具。在那个小部件中我应该添加这一行

<script src="/feeds/posts/default?orderby=published&alt=json-in-script&callback=showrecentpostswiththumbs">

此外,我还添加了另一个脚本,该脚本具有方法 showrecentpostswiththumbs [用于回调]。请让我知道上面的语法有什么作用?

编辑 在主的评论之后:)

实际上,我的博客托管在 blogspot.com 上。因此,从这个 Angular 来看,如果您将 /feeds/posts/default?orderby=published&alt=json-in-script 附加到任何博客网址,它将生成一些代码。我只是想知道它有什么作用?以及回调参数中使用的方法会发生什么[无论回调方法的定义是什么:)]。

例如: http://googleblog.blogspot.com /feeds/posts/default?orderby=published&alt=json-in-script

最佳答案

仅从您发布的内容中无法判断,但 URL 中的参数命名表明 JSONP .

JSONP 的基础是通过将裸 JSON 对象包装在函数调用中来允许跨域 AJAX 调用,以便结果可以作为脚本执行。

JSON 代码:

function getJSON(url) {
    var xhr = new XHR(url); // pseudocode
    xhr.onsuccess = callback;
    xhr.send();
}

function callback(data) {}

JSON 响应:

{ "items" : [1, 5, 7] }

等效 JSONP 代码:

function getJSONP(url) {
    var script = document.createElement("script");
    script.src = url + "&callback=callback");
    script.type = "text/javascript";
    document.body.appendChild(script);
}

function callback(data) {}

JSONP 响应:

callback({ "items" : [1, 5, 7] })

编辑

它是 JSONP。比较以下三个请求的结果:

第一个以原始 JSON 形式返回提要,第二个以带有默认回调名称的 JSONP 形式返回,第三个使用为回调函数提供的名称以 JSONP 形式返回。

关于javascript - 这个 JavaScript 的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2587228/

相关文章:

java - 当要解析的元素是 json 字符串的元素时,使用 gson 解析 json 的最简单方法是什么?

javascript - $ 无法在 Typo3 中包含的外部 js 文件中工作

javascript - 如何在javascript中更改JSON文件的编码

javascript - 使用语义 UI 动态渲染 react 列表

javascript - 如何仅在指定div内通过标签名称选择元素

json - 打印一个 Sequelize 对象(带有子依赖对象)

c# - JSON TinyMCE 返回值 "\t"

c# - 使用 Json.NET 在 Windows Phone 7 中反序列化 JSON

html - 如何在悬停时更改 SVG 图像的颜色?

javascript - 将数组传递给 tweenjs 将不起作用