Ajax 请求失败

Ajax request failing?

本文关键字:失败 请求 Ajax      更新时间:2023-09-26

我正在尝试从 API 中检索 json 数据。它一直失败,但是当我查看Firebug的"网络"选项卡时,我可以看到GET请求已执行并返回了正确的数据。我做错了什么,还是有人有关于如何调试的提示?

编辑:已更改为数据类型 json,错误状态代码为 0

谢谢

    $.ajax({
        url: 'http://localhost:55894/api/Test/All',
        data: {
            format: 'json'
        },
        error: function () {
            alert('Error');
        },
        dataType: 'jsonp',
        success: function (data) {
            alert('Ok');
        },
        type: 'GET'
    });

根据您提供的信息,失败的原因是您没有跨域访问策略设置。因为您使用不同的端口来托管网站和 API,所以您遇到了此问题。您可以使用适当的安全设置设置跨域.xml也可以将 API 和 Web 服务器移动到同一端口。

查看

此内容以获取更多信息:http://en.wikipedia.org/wiki/Same-origin_policy

你可以试试这种方式:

$.ajax({
    type: 'GET',
    url: 'url api here',
    beforeSend: function() {
    },
    success: function(data) {
    },
    error: function(xhr) { // if error occured
    },
    complete: function() {
    },
    dataType: 'json'
});

JSONJSONP是不同的。如果您使用的是 JSONP ,服务器端必须准备好支持它。看起来您不像在使用JSONP.

因此,只需将dataType更改为 'json' ,因为您正在"尝试检索 json 数据"。