如何使用JavaScript从REST API获取数据。我有几个基本的API,它们不需要任何身份验证即可从中获取数据。所有API都以JSON返回我想要的数据。例如https://www.codewars.com/api/v1/users/MrAutoIt。我认为这是使用xmlhttprequest的非常简单的过程,但是same-origin policy似乎给我带来了问题。
我尝试了以下几本教程,但它们似乎不适用于跨域,或者我听不懂。我试图发布教程的链接,但是我在这里还没有很高的声誉。
最佳答案
如果尝试访问与发出请求的网页不在同一host:port上的Web服务,则将遇到相同的原始策略。您可以做几件事,但是所有这些都需要服务的所有者为您做事。
1)由于相同的来源策略不会影响脚本,因此允许服务通过JSONP而不是JSON进行响应;要么
2)在授予您的网页访问权限的网络服务响应中发送Access-Control-Allow-Origin
标头
如果您无法让服务所有者授予您访问权限,则可以从您控制的服务器向服务器端发出请求(例如,从Node.js或PHP或Rails代码),然后将数据转发到您的网页。但是,根据Web服务的服务条款,您可能会违反协议,并且冒使他们禁止您的服务器的风险。