如何向外部数据平台请求数据?

#1

在web应用中,如何向一些数据平台(如聚合数据)请求数据?我申请了聚合数据的API,但是我发现我在我的应用中发出请求,发现不能获得数据,提示access-control-allow-origin没有设置本域可访问(大概是这个意思),我问聚合的客服,他说他们的数据不支持跨域,我有点懵,想问下,如果要获得那里的数据,应该怎么做?

#2

首先错误信息是服务器端头部匹配时出现不匹配现象,即未设置Access-Control-Allow-Origin。
解决跨域一般采用下面几种方法:

1.JSONP方式解决跨域问题
jsonp解决跨域问题是一个比较古老的方案(实际中不推荐使用),其中jsonp只能是“GET”请求,不能进行较为复杂的POST和其它请求。

2.CORS解决跨域问题
CORS需要浏览器和服务器同时支持。其中通信的关键是服务器,要想跨源通信,服务器必须实现CORS接口。

3.代理请求方式解决接口跨域问题
代理请求主要是对接口进行代理,前端ajax请求的是本地接口,本地接口接收到请求后向实际的接口请求数据,然后再将信息返回给前端,node.js即可代理。

4.浏览器插件
谷歌浏览器跨域插件:Allow-Control-Allow-Origin

https://segmentfault.com/q/1010000012882713/a-1020000012898599