解决资源不共享问题
在请求接口的时候 出现错误
No ‘Access-Control-Allow-Origin’
涉及到跨域资源共享的问题
【会跨域的几种情况】:
1.协议不同
协议有 http:// 和 https:// 两种
例如
http://www.abc.com/a/b 调用 https://www.abc.com/d/c
2.主机名称不同
主机名称有 localhost 或者127.0.0.1(主机ip)或者jingdong 、baidu等
例如
http://www.baidu.com/a/b 调用 http://www.jingdong.com/a/b
3.端口号不一致
例如
http://www.abc.com:8080/a/b 调用 http://www.abc.com:8081/d/c
【如何处理跨域】:
1.cros跨域(跨域资源共享)
在后台服务器配置请求头 header(“Access-Control-Allow-Origin”,"*");
* 号指的是所有域名可以访问我
* 也可以换成具体某一个网址,即允许某一个网站访问我
response.addHeader(‘Access-Control-Allow-Origin:*’);//允许所有来源访问
response.addHeader(‘Access-Control-Allow-Method:POST,GET’);//允许访问的方式
在java php node 都是一样的配置
2.jsonp跨域(只能是get请求)
原理:使用src跨域,传递传递回调函数到后台,后台接收回调函数 ,执行回调返回到前台
动态添加script标签设置src路径 来实现jsonp跨域的
百度搜索接口案例