浏览器跨域问题是源于浏览器的同源策略,,协议,域名,端口,三者有其中一个不一致就属于跨域。
URL网址的组成:
http://www.baidu.com:80/index.html?username=xxx&password=yyy#hash
协议://域名:端口 / 资源路径?查询字符串#hash
1. JSONP跨域
JSONP(JSON with Padding: 填充式JSON),应用于JSON的一种新方法。
JSON、JSONP的区别:
- JSON返回的是一串数据,JSONP返回的是脚本代码(包含一个函数调用)
- JSONP只支持get请求、不支持post请求(类似往页面添加一个script标签,通过src属性去触发对指定地址的请求,故只能是Get请求)
JSONP应用的技巧:
在HTML标签里,一些标签比如script、img这样的获取资源的标签是没有跨域限制的。
2. CORS跨域
后端修改请求头
header(‘Access-Control-Allow-Origin:*’);允许访问的网址
header(‘Access-Control-Allow-Method:POST,GET’);允许访问的方式
我只用了这两个。。
详细见原文链接:https://blog.csdn.net/weixin_43606158/article/details/90141290