如何在Javascript中对API使用make HTTP调用?

时间:2012-08-13 14:05:47

标签: javascript jquery api http request

如何在Javascript应用程序中使用公共API?例如,我想使用JQuery AJAX调用Zillow API。 在JQuery AJAX中发出请求时(如下所示),我收到以下错误: XMLHttpRequest无法加载“我的HTTP请求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 params(如下所示),但是他们没有帮助。

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

2 个答案:

答案 0 :(得分:0)

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

交叉ajax域名请求受到限制。所以你需要发出JSONP请求。不要担心JQuery会处理大部分内容。

答案 1 :(得分:0)

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