在學習Vue搭建了腳手架后,默認的地址是 localhost:8080,但是后端的WebApi接口掛在IIS里,前端axios發送的請求一直失敗,查看了錯誤信息后,
發現是端口號不同而產生了跨域請求(當一個請求url的協議、域名、端口三者之間任意一個與當前頁面url不同即為跨域)
解決方案:
首先需要在NuGet包里安裝Cors
然后到Program.cs文件里加上下列代碼:
builder.Services.AddCors(options =>
{
options.AddPolicy
(name: "myCors",
builde =>
{
builde.WithOrigins("*", "*","*")
.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
}
);
});
加上代碼之后,再use一下就好了
app.UseCors("myCors");
在Controller或Action上也要加上[EnableCors("myCors")]
這一句app.UseCors("AllowCors");
要寫在app.UseAuthorization();
前面