Ajax对JSON服务的调用不起作用

Ajax call to JSON service isn't working

本文关键字:调用 不起作用 服务 JSON Ajax      更新时间:2023-09-26

我承认到目前为止我接触JQuery/Ajax的机会有限,我正在尝试从两个web服务获取JSON数据:

http://w.xaviertidus.com/Json.svc/getInServiceTransponders

http://w.xaviertidus.com/Json.svc/latestTransponderUpdates

使用以下代码:

function fetchTransponderData() {
    $.ajax({
        url: "http://w.xaviertidus.com/Json.svc/getInServiceTransponders",
        contentType: "application/json; charset=utf-8",
        data: "{}",
        dataType: "json",
        success: function (response) {
            return response;
        },
        error: function (xmlHttpRequest, textStatus, errorThrown) {
            alert(errorThrown);
        }
    });
}
function fetchFarcsData() {
    $.ajax({
        url: "http://w.xaviertidus.com/Json.svc/latestTransponderUpdates",
        contentType: "application/json; charset=utf-8",
        data: "{}",
        dataType: "json",
        success: function (response) {
            return response;
        },
        error: function (xmlHttpRequest, textStatus, errorThrown) {
            alert(errorThrown);
        }
    });
}

不幸的是,它一直抛出一个错误(在ajax语句中'error'下的警报),而不是给我详细信息,我已经使用了fiddler,它正在向web服务发出请求,并自己向它们发出预期的JSON结果。

有谁能给我讲讲这个问题吗?很多谢谢!

可能是跨域请求。如果是这样,您必须设置适当的标头(Access-Control-Allow-Origin: *)或使用代理服务器。

您可以尝试使用JSONP来绕过同源策略。但是,更好的选择可能是从服务器端代码调用外部站点,并依赖服务器将结果转发回客户端。