Jquery,JSONP错误200,收到消息时的parsererror

时间:2014-01-26 15:48:47

标签: jquery ajax jsonp

1)我正在尝试使用netrunnerdb.com提供的跨域api。该站点需要jsonp请求或拒绝该请求。

如果您想了解有关api的更多信息,请访问该网站,页面底部有一个api链接。

2)我打电话

不是我的api

- 我无法控制服务器,我认为问题是在jquery作为回调发送的函数中没有返回json。

3)我的Ajax请求:

var path="http://netrunnerdb.com/api/search/r<t d:c"
$.ajax({
    type:           "GET",
    url:            path,           
    cache:          true,
    dataType:       "jsonp",
    error:          function(xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
        alert(ajaxOptions);
        alert(thrownError);
    },
});

以下是请求发送的网址:

http://netrunnerdb.com/api/search/r%3Ct%20d:c%20?callback=jQuery1110010968961869366467_1390750866847

4)响应:

我收到错误200抛出,我收到一个解析错误,然后被告知没有调用json回调。答案是否恰好是错误的?有解决方法吗?在chrome中,如果我通过直接浏览上面的URL到控制台来复制整个响应并设置一个等于它的变量,它就可以很好地解析为数组。

1 个答案:

答案 0 :(得分:2)

您将获得响应为JSON而不是JSONP,因为API无法识别来自jQuery的回调。 API期望jsonp参数中的回调名称,而不是callback

将此添加到Ajax调用中的属性,以使jQuery在URL中使用jsonp而不是callback

jsonp: 'jsonp',