vue中有哪些常用的跨域处理方式,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

设置express代理请求
在基于vue-cli的项目中,在开发环境配置(config/dev.env.js)中设置代理,能够将所有/apidomain开头的请求都通过npm run dev启动的express服务器重定向到目标接口
proxyTable: {
'/apidomain':{
target:'http://localhost:prot',//或ip或域名。
changeOrigin:true,
pathRewrite: {
'^/apidomain': ''
}
}
},若要通过IP在局域网访问h6,启动开发服务器的时候添加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跨域设置
在实际设置中,因为在h6端添加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的网站请求数据。
看完上述内容,你们掌握vue中有哪些常用的跨域处理方式的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联成都网站设计公司行业资讯频道,感谢各位的阅读!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。