【问题标题】:Jquery, JSONP Error 200, parseerror while message recievedJquery,JSONP 错误 200,收到消息时解析器错误
【发布时间】:2014-01-26 15:48:47
【问题描述】:

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

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

2) 我调用的不是我的 api

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

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);
    },
});

这是请求发送的 URL:

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

4) 响应:

我收到一个错误 200,我收到一个 parseerror,然后被告知未调用 json 回调。只是响应格式不正确吗?有解决方法吗?在 chrome 中,如果我通过直接浏览到上面的 URL 将整个响应复制到控制台并设置一个等于它的变量,它就会很好地解析成一个数组。

【问题讨论】:

    标签: jquery ajax jsonp


    【解决方案1】:

    您收到的响应是 JSON 而不是 JSONP,因为 API 无法识别来自 jQuery 的回调。 API 需要 jsonp 参数中的回调名称,而不是 callback

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

    jsonp: 'jsonp',
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多