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

时间:2013-09-11 19:03:03

标签: 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

1 个答案:

答案 0 :(得分:2)

您指定的类型为“jsonp”,但该响应对我来说就像普通的JSON。

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

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