.net core3.1 webapi + vue.js + axios实现跨域

我所要讲述的是,基于.net core3.1环境下的webapi项目,如何去使用axios对接前端的vue项目前端

既然谈到axios,这里贴出axios的官方文档地址:vue

http://www.axios-js.com/zh-cn/docs/ios

首先是前端部分进行设置

第一步,在vue项目中安装axios

 

 在vs code的终端中输入命令 npm install axiosweb

稍等片刻,便可完成安装npm

第二步,构建axios的测试api

首先须要在main.js中,引入前面安装的axios

 

 

 

而后在某个组件的钩子函数里,写入如下代码

 

 

在组件被建立的时候,向后台发送get请求,获取数据。若是对axios的api不太熟悉的话,能够转到axios的官方文档axios

固然我也为新手提早准备好了截图,供查阅后端

 

 

 上面这张图片来自于axios的官方文档api

前端部分就此完成跨域

接下来是配置.net core webapi项目

其实后端的配置极其简单,只需启用cors,而后作一些服务注入和中间件的添加便可数组

在微软的文档中也有对这部分给出了相关的注解,这里能够选择查阅微软的官方文档

第一步,服务注入

在startup.cs中加入如下代码

 

 

readonly string MyAllowSpecificOrigins = "_myAllowSpecificOrigins";

 

#region cors
services.AddCors(options =>
{
options.AddPolicy(MyAllowSpecificOrigins,
builder =>
{
builder.WithOrigins("http://localhost:8888")
.AllowAnyHeader()
.AllowAnyMethod();
});
});
#endregion

注意WithOrigins方法表示的容许跨域访问的url,参数能够是一个数组的形式,好比像下面这种方式去写:

 

 第二步,添加中间件

 

 这里按照微软的官方文档,cors的中间件放置须要特别注意位置,这里面我是放在了UseRouting与UseEndPoints的中间,这个能够参照微软的文档,里面有注解

第三步,在控制器上打上标签

 

  [EnableCors(PolicyName = "_myAllowSpecificOrigins")]

到此,先后端的配置都已结束,接下来让咱们见证最终的效果

 

 完美响应,so good

相关文章
相关标签/搜索