首页 > 其他分享 >前端跨域

前端跨域

时间:2022-12-14 10:46:22浏览次数:46  
标签:Control 跨域 res 前端 Access header Allow

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     else
11         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     else
11         next();
12 }

 

标签:Control,跨域,res,前端,Access,header,Allow
From: https://www.cnblogs.com/tmccjs/p/16981440.html

相关文章

  • 社招前端二面react面试题集锦
    在哪个生命周期中你会发出Ajax请求?为什么?Ajax请求应该写在组件创建期的第五个阶段,即componentDidMount生命周期方法中。原因如下。在创建期的其他阶段,组件尚未渲染完成......
  • 我们是否对现代前端开发框架过于崇拜了?
      前端界有两个“教派”,一个叫Vue,一个叫React。Vue的成员看不起React,React成员鄙视Vue,他们认为手中的“教义”就是真理,可以消灭世界一切苦难。但正如没有绝对的......
  • 我们是否对现代前端开发框架过于崇拜了?
      前端界有两个“教派”,一个叫Vue,一个叫React。Vue的成员看不起React,React成员鄙视Vue,他们认为手中的“教义”就是真理,可以消灭世界一切苦难。但正如没有绝对的......
  • 我们是否对现代前端开发框架过于崇拜了?
      前端界有两个“教派”,一个叫Vue,一个叫React。Vue的成员看不起React,React成员鄙视Vue,他们认为手中的“教义”就是真理,可以消灭世界一切苦难。但正如没有绝对的......
  • 前端入门教程:CSS标准盒模型和怪异盒模型区别
    理解盒模型:CSS3中的盒模型有以下两种:标准盒模型、IE盒子模型(怪异盒模型),盒模型是由4个部分组成,由内向外分别是content(下图蓝色部分)、padding、border、margin盒模型有5......
  • C#后端接收前端的各种类型数据
    文章来源:http://wjhsh.net/walt-p-11298037.html 前端往后端提交数据的方式常用的就这么三种:1.form提交;2.url参数提交;3.json提交1.针对表单form方式的提交在后端使用Re......
  • BigDecimal类型返回前端精度丢失
    原文链接:https://www.jianshu.com/p/5907ae7cba72BigDecimal长度太长,返回给前端,精度会丢失,即后几位都会变成0.解决办法:给前端返回字符串类型。加注解:@JsonSerialize(......
  • 前端常用的正则校验
     例如element常用的必填校验:   固话和手机号pattern:/^(((\d{3,4}-)?[0-9]{7,8})|(1(3|4|5|6|7|8|9)\d{9}))$/ 手机号pattern:/^1[3|4|5|6|7|8|9][0-......
  • 五年经验的前端社招被问:CPU 和 GPU 到底有啥区别?
    首先来看CPU和GPU的百科解释:CPU(CentralProcessingUnit,中央处理器):功能主要是解释计算机指令以及处理计算机软件中的数据GPU(GraphicsProcessingUnit,图形处理器;......
  • spring boot 跨域
    springboot提供了两种跨域配置方式1.全局跨域2.局部跨域全局跨域packagecom.tons.config;importorg.springframework.context.annotation.Configuration;import......