【发布时间】:2019-11-16 19:34:42
【问题描述】:
我一直在寻找一种方法让我的前端 Web 应用程序 (Angular) 能够访问我的 Asp.NET MVC(控制器),但它显示以下错误:
访问 XMLHttpRequest 在 'https://localhost:44344/Authentication/SignIn' 来自原点 'http://localhost:4200' 已被 CORS 策略阻止:响应 预检请求未通过访问控制检查:它没有 HTTP 正常状态。
角度网址:http://localhost:4200/login?returnUrl=%2F
MVC 网址:https://localhost:44344/
这也是我添加到我的 web.config 中的内容
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="http://localhost:4200" />
<add name="Access-Control-Allow-Headers" value="*" />
<add name="Access-Control-Allow-Methods" value="*" />
<add name="Content-Type" value="application/json"/>
<add name="Access-Control-Allow-Credentials" value="true" />
</customHeaders>
</httpProtocol>
我还在主控制器中添加了以下行:
[EnableCors(origins: "http://localhost:4200", headers: "*", methods: "*")]
但是错误是一样的。
这是控件的初始化:
[HttpPost]
[AllowAnonymous]
[DisableCors]
public JsonResult SignUp(HF_Accnt_Access Company)
谁能帮帮我。
【问题讨论】:
-
运行 Fiddler (telerik.com/download/fiddler) 或您选择的 Web 调试器并查看流量。有一个预检请求发生,它没有返回 200 OK。返回的状态是什么?
-
在错误中,您的地址是
https,但您配置了http。
标签: asp.net-mvc angular http asp.net-web-api cors