跨域问题:
编辑器打开 地址: http://127.0.0.1:5500/day10/front-end/index.html
请求数据接口地址:http://127.0.0.1:3000/userall
报错:has been blocked by CORS policy:
No ‘Access-Control-Allow-Origin’ header is present on the requested resource
什么情况是跨域:
同源:协议、 主机名、端口 一样
协议、 主机名、端口 只要有一个不一样 就是非同源URL,访问非同源的URL就会产生跨域问题
为什么产生跨域:
浏览器 的安全机制-默认不允许 访问非 同源的 数据
开发过程解决跨域问题:
-
后端 修改:
-
返回 请求头、 允许跨域
-
前端 修改:
-
反向代理( 页面 < ----创建node 服务器允许跨域 —>数据接口 )
-
后端 和 前端 共同修改 ----只能get请求:
原理: html 中 script 标签 src 属性 可以 请求得到 跨域资源
技术名称: jsonp :json padding 。 返回的 函数参数是 有 json数据填充的
后端: 返回数据方式: 函数名( json数据 )
前端:
得到响应数据:
function 函数名(行参){
行参 === json数据
}
请求
/ / 函数名( json数据 )