1.关于跨域
是指域名、协议、端口中任意一个不相同的即存在跨域问题。请求能正常发出去,服务器能接受请求并返回结果,但是结果被浏览器拦截了
2.解决跨域
2.1jsonp(非同源请求)
<script>标签加载json数据,但是需要服务器做支持
优点:没有跨域限制
缺点:容易受到xss攻击
2.2ajax(同源请求)
jq方式
$.ajax({
type:'get',
async:true,
dataType:'jsonp',
jsonp:'',
url:'',
success:function(data){},
fail:function(error){console.log(error)}
})
2.3cors
fetch(get_insert_xpath, {
method: 'post',
mode: 'cors',
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': '*',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: "name",
}),
})
.then(
res => res.json(),
fail => console.log('error', fail)
)
.then(data => {
console.log(data)
});
3.后端本地项目未发布到服务器时,如果前端需要调用接口也会显示cors跨域
此时需要修改本地dns处理跨域
添加
# 后端ipv4地址 项目名