API 端点的资源上没有 Access-Control-Allow-Origin Header
No Access-Control-Allow-Origin Header on resource of API endpoint
我正在尝试使用 jQuery XHR 向 Zillow 的 API 发送一个简单的 GET 请求。我可以在浏览器和 Postman 中看到请求 returns 正确。我已经在下面审查了我的 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'
});
我可以在控制台中看到它通过本地主机或在服务器上时返回标准 Cross-Domain 错误。
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '<MY-DOMAIN>' is therefore not allowed access.
我用过很多API这种方式,但我不明白——真的有那么愚蠢吗?他们公开了 API 但不允许 CORS?这对我来说没有任何意义,我认为我一定遗漏了一些明显的东西。
- 我是否必须因为他们末端的一些模糊情况而进行预检?
- 如果他们真的不允许 CORS,谁能帮我理解这个端点的用途?
- API 的文档非常好 here 。
谢谢堆栈。感谢你的帮助。
编辑:如果你想看看我所看到的,你可以 get an API key 毫不费力。
他们好像禁止了CORS。您需要做的是设置您自己的服务器来访问 Zillow 的端点,并使用 AJAX 在您自己的服务器上访问该路由。我相信这样做的目的是为了抑制 CSRF,因此用户的 cookie 不会发送到 Zillow,因为它是通过您的服务器而不是直接从浏览器发送到 Zillow。
我正在尝试使用 jQuery XHR 向 Zillow 的 API 发送一个简单的 GET 请求。我可以在浏览器和 Postman 中看到请求 returns 正确。我已经在下面审查了我的 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'
});
我可以在控制台中看到它通过本地主机或在服务器上时返回标准 Cross-Domain 错误。
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '<MY-DOMAIN>' is therefore not allowed access.
我用过很多API这种方式,但我不明白——真的有那么愚蠢吗?他们公开了 API 但不允许 CORS?这对我来说没有任何意义,我认为我一定遗漏了一些明显的东西。
- 我是否必须因为他们末端的一些模糊情况而进行预检?
- 如果他们真的不允许 CORS,谁能帮我理解这个端点的用途?
- API 的文档非常好 here 。
谢谢堆栈。感谢你的帮助。
编辑:如果你想看看我所看到的,你可以 get an API key 毫不费力。
他们好像禁止了CORS。您需要做的是设置您自己的服务器来访问 Zillow 的端点,并使用 AJAX 在您自己的服务器上访问该路由。我相信这样做的目的是为了抑制 CSRF,因此用户的 cookie 不会发送到 Zillow,因为它是通过您的服务器而不是直接从浏览器发送到 Zillow。