博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
日常开发中的几个常用跨域处理方式
阅读量:4520 次
发布时间:2019-06-08

本文共 1506 字,大约阅读时间需要 5 分钟。

设置express代理请求

在基于vue-cli的项目中,在开发环境配置(config/dev.env.js)中设置代理,能够将所有/apidomain开头的请求都通过npm run dev启动的express服务器重定向到目标接口

官方文档:

proxyTable: {      '/apidomain':{        target:'http://localhost:prot',//或ip或域名。        changeOrigin:true,        pathRewrite: {          '^/apidomain': ''        }      }    },

若要通过IP在局域网访问h5,启动开发服务器的时候添加host参数即可

即package.json的dev命令配置如下
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js --host 0.0.0.0",

关闭chrome安全策略实现跨域

windows中新建一个bat文件粘贴下面的命令即可以此模式打开

更多可参考:

cd "C:\Program Files (x86)\Google\Chrome\Application" chrome.exe --disable-web-security --user-data-dir=c:/CorsUserData

asp.net core 服务端的CORS跨域设置

官方文档:

必读文章:
在实际设置中,因为在h5端添加header参数产生了预检(OPTIONS)请求,看了上述文章后将通用参数修改到了query参数中

1. 添加cors服务

public void ConfigureServices(IServiceCollection services){    //若只有部分接口则定义一个或多个命名的 CORS 策略,并在运行时按名称然后选择的策略,通过特性标记去设置跨域 详情见文档    services.AddCors();}

2. 启用中间件

//读取配置文件中设置的允许跨域的域名 CorsOrigins为一个数组  设置["*"]则会允许所有var origins = Configuration.GetSection("CorsOrigins").GetChildren().Select(s => s.Value).ToArray();app.UseCors(e =>{    e.WithOrigins(origins).AllowAnyHeader().AllowAnyMethod().AllowCredentials();});
//Startup文件中Configuration对象的获取public IConfiguration Configuration { get; }public Startup(){    var builder = new ConfigurationBuilder()//...AddJsonFile($"appsettings.json");    Configuration = builder.Build();}

JSONP

JSONP只支持GET请求,CORS支持所有类型的HTTP请求。JSONP的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。

必读文章:

转载于:https://www.cnblogs.com/morang/p/8423763.html

你可能感兴趣的文章
python pickle命令执行与marshal 任意代码执行
查看>>
Elasticsearch 2.3 java api
查看>>
golang写入csv
查看>>
基础2
查看>>
java基础篇---网络编程(UDP程序设计)
查看>>
Kafka Producer相关代码分析【转】
查看>>
LeetCode 121. Best Time to Buy and Sell Stock
查看>>
麻省理工学院公开课-第四讲:快速排序 及 随机化 算法
查看>>
pycharm 的包路径设置export PYTHONPATH=$PYTHONPATH
查看>>
SQL语句创建函数
查看>>
解决mysql无法显示中文/MySQL中文乱码问号等问题
查看>>
CentOS 7.2 配置mysql5.7
查看>>
python输出转义字符
查看>>
java基础43 IO流技术(输入字节流/缓冲输入字节流)
查看>>
计算一个整数二进制中1的个数
查看>>
netdom join 错误:指定的域不存在,或无法联系。
查看>>
Android中Dialog的使用
查看>>
Android Activity接收Service发送的广播
查看>>
[Leetcode] Spiral Matrix | 把一个2D matrix用螺旋方式打印
查看>>
加速和监控国际网络
查看>>