0

如何在 Javascript 应用程序中使用公共 API?例如,我想使用 JQuery AJAX 调用 Zillow API。在 JQuery AJAX 中发出请求时(如下所示),我收到以下错误:XMLHttpRequest cannot load "MY HTTP REQUEST URL"。Access-Control-Allow-Origin 不允许来源“MY WEB DOMAIN”。

var requesturl = "http://www.zillow.com/webservice/GetRegionChildren.htm?zws-id="+zwsid+"&state="+state+"&city="+city+"&childtype=neighborhood";

代码:

var jqxhr = $.ajax({  
url: requesturl
})
.done(function(data) { 
    console.log(data);
});

我也尝试添加 crossDomain、dataType 和 headers 参数(如下所示),但它们没有帮助。

var jqxhr = $.ajax({  
url: requesturl,
crossDomain: true,
dataType: 'xml',
headers: { 'Access-Control-Allow-Origin': '*' },
beforeSend: setHeader
})
.done(function(data) { 
    console.log(data);
});
4

2 回答 2

0

听起来您需要在 Zillow 注册您的网址,也许可以联系他们/在他们的文档页面上四处寻找。jquery 也有一个get方法,它使 ajax 请求更加简单。如果那是返回格式,还有getJSON 。

于 2012-08-13T14:18:23.073 回答
0

最流行的公共 API 支持 JSONP 请求。有关详细信息,请参阅 API 文档。

跨 ajax 域请求受到限制。因此,您将需要发出 JSONP 请求。不用担心 JQuery 会处理其中的大部分。

于 2012-08-13T14:12:20.943 回答