最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

前端跨域

来源:博客园


(资料图)

1.jsonp实现跨域

1 <script> 2 var script = document.createElement("script"); 3 script.type = "text/javascript"; 4  5 // 传参并指定回调执行函数为(&callback=onBack) 6 script.src = "http://www.....:8080/login?user=admin&callback=onBack"; 7 document.head.appendChild(script); 8  9 // 回调执行函数10 function onBack(res) {11     alert(JSON.stringify(res));12 }13 </script>

2.设置代理

[vue]配置跨域|vue.config.js

1 module.exports = { 2     devServer: { 3         open: true, 4         host: "localhost", 5         port: 8000, 6         https: false, 7         //以上的ip和端口是我们本机的;下面为需要跨域的 8         proxy: { //配置跨域 9             "/api": {10                 target: "http://127.0.0.1:8000/api/", //这里后台的地址模拟的;应该填写你们真实的后台接口11                 ws: true,12                 changOrigin: true, //允许跨域13                 pathRewrite: {14                     "^/api": "" //请求的时候使用这个api就可以15                 }16             }17         }18     }19 }

3.后端设置跨域(node)

1.允许所有域名

1 app.all("*", function(req, res, next) { 2     //设置允许跨域的域名,*代表允许任意域名跨域 3     res.header("Access-Control-Allow-Origin", "*"); 4     //允许的header类型 5     res.header("Access-Control-Allow-Headers", "content-type"); 6     //跨域允许的请求方式  7     res.header("Access-Control-Allow-Methods", "DELETE,PUT,POST,GET,OPTIONS"); 8     if (req.method.toLowerCase() == "options") 9         res.send(200); //让options尝试请求快速结束10     else11         next();12 })

2.指定域名http://www.xxxxxxx.com

1 app.all("*",function(req,res,next){ 2     //设置允许跨域的域名,*代表允许任意域名跨域 3     res.header("Access-Control-Allow-Origin","http://www.zhangpeiyue.com"); 4     //允许的header类型 5     res.header("Access-Control-Allow-Headers","content-type"); 6     //跨域允许的请求方式  7     res.header("Access-Control-Allow-Methods","DELETE,PUT,POST,GET,OPTIONS"); 8     if (req.method.toLowerCase() == "options") 9         res.send(200);  //让options尝试请求快速结束10     else11         next();12 }

关键词: