我正在尝试使用jQuery XHR向Zillow的API发送一个简单的GET请求。我可以在浏览器和Postman中看到请求正确返回。我已经审查了下面的API密钥 - 但请求不能简单。
$.ajax({
url: 'http://www.zillow.com/webservice/GetMonthlyPayments.htm?zws-id=<APIKEY_GOES_HERE>&zip=89509&output=json&price=300000&down=25',
success: function(data){alert('done');},
dataType: 'json'
});
我可以在控制台中看到它通过localhost或服务器上的标准跨域错误返回。
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '<MY-DOMAIN>' is therefore not allowed access.
我用这种方式使用了很多API而且我不明白 - 它真的是那么愚蠢吗?他们公开API但不允许使用CORS?这对我来说没有任何意义,我认为我必须遗漏一些明显的东西。
谢谢Stack。感谢您的帮助。
编辑:如果你想看到我所看到的内容,你可以毫不费力地get an API key。
答案 0 :(得分:1)
看起来他们禁止了CORS。您需要做的是设置自己的服务器,该服务器访问Zillow的端点,并使用AJAX在您自己的服务器上命中该路由。我相信这样做的目的是抑制CSRF,因此用户的cookie不会被发送到Zillow,因为它通过你的服务器,而不是从浏览器直接转到Zillow。