javascript - 如何使用JSON API?我究竟做错了什么?

标签 javascript jquery ajax json

我做错了什么会出现此错误?

Uncaught SyntaxError

链接如下所示:

link

$.ajax({
        url: "http://services.runescape.com/m=itemdb_rs/api/catalogue/detail.json?item=4798",
        dataType: 'jsonp',
        success: function(results){
            console.log(results);
        }
    });

编辑:

通过使用 dataType: 'json', 而不是 dataType: 'jsonp',,我收到此错误:

json error

有关主机使用 API 的其他信息:
http://services.runescape.com/m=rswiki/en/Grand_Exchange_APIs#GE_Item_price_information

最佳答案

您指定了“jsonp”类型,但该响​​应对我来说看起来像是纯 JSON。

JSONP 是一种发送 JSON 的特殊方式,它将数据包装在回调函数中,作为绕过“同源”安全策略的一种方式。如this article on the jQuery site描述它,这是“一个协商一致的跨站点脚本黑客”。

它必须得到您从中检索的服务的支持;您必须检查他们的文档以了解如何让他们发送它。如果他们不能,您将必须使用服务器端脚本获取他们的 JSON,然后您可以通过对您自己的脚本运行 AJAX 调用来像代理一样使用它。

关于javascript - 如何使用JSON API?我究竟做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18749241/

相关文章:

javascript - 将焦点添加到添加的每个新文本输入上

javascript - Ajax、JS 和 "-"的

javascript - 没有缓存的ajax加载页面

javascript - 为什么我不能在 JavaScript 中使用 concat 方法将 "argument"对象转换为数组?

javascript - 从特殊字符之前和之后的字符串中获取值 - Jquery

jquery - 如何通过 View 中的 Json 访问 Controller 值并在 jquery 中循环?

javascript - 从 JSON 转换为对象数组

javascript - React 计时器无法读取未定义的属性秒

javascript - 在 http 和 https 之间共享 dom 存储

javascript - 管道值 : Ajax + JQuery