0
$.ajax({
    type: 'GET',
    url: 'https://localhost/api/v1/courses?access_token=[MY-ACCESS-TOKEN]',
    cache: false,
    dataType: "jsonp",
    crossDomain: true,
    jsonp: false,
    success: function(data){
        alert("success " + data);
    },
    error: function(error){
        console.log(error)
    }
});

我正在尝试访问此 API。我能够在 Firebug 中看到响应,但它没有触发success. $.ajax我该如何解决这个问题?

4

1 回答 1

4

您正在设置选项jsonp: false。该jsonp选项告诉 jQuery给 JSONP 回调函数取什么名字。所以你告诉 jQuery"false"用作回调函数名称。幸运的是,jQuery实际上并没有使用该名称(我只是尝试过 ——如果这样做了,返回的 JSONP 将失败),但是将那个选项放在那里有效地关闭了dataType: "jsonp"您之前指定的,使 jQuery 尝试一个实际的 ajax(非JSONP) 请求,但失败。

完全删除该jsonp选项以让 jQuery 执行 JSONP 请求并允许它控制回调名称。

于 2013-11-06T08:22:26.133 回答