Ajax成功函数不起作用

时间:2013-11-06 08:14:11

标签: jquery ajax jsonp

$.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的{​​{1}}函数。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

您正在设置选项jsonp: falsejsonp option告诉jQuery提供JSONP回调函数 name 。所以你告诉jQuery使用"false"作为回调函数名。幸运的是,jQuery 实际上没有使用该名称(我只是tried it - 如果确实如此,JSONP将会失败),但是将该选项放在那里会有效地关闭{{1你之前指定的,让jQuery尝试一个真正的ajax(非JSONP)请求,但失败了。

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