我正在尝试使用Axios http客户端从Vue应用程序发布到我的aspnet核心Web api。我可以从api获取。
我已经使用swagger,postman和fiddler测试了api,所有这些客户端均成功返回了201响应。
当我使用Axios从vue应用程序发布时,出现以下CORS错误:
跨源请求被阻止:同源策略禁止阅读 https://localhost:44381/api/Complexes上的远程资源。 (原因: CORS请求未成功
检查网络检查器,可以看到正在发送OPTIONS预检请求,然后出现CORS错误。我在api中正确设置了CORS。
axios
.post(this.BASE_URL, {
name: "Test Complex",
address: "Test Address"
})
.then(function(response) {
console.log("Complex saved");
})
.catch(function(error) {
console.log(error);
});
这是显式设置OPTIONS方法的api中的CORS配置。
services.AddCors(options =>
{
options.AddPolicy("AllowOrigins",
builder => builder.WithOrigins("http://localhost:8080").WithMethods("GET","PUT","POST","OPTIONS"));
});