我无法从角应用程序进行POST调用,IIS服务器拒绝请求“ 预检的响应有无效的HTTP状态代码404 ”,我知道有很多像这样的问题,但我见过的都没有解决我的问题
我的web.config中已经有以下内容并且仍然看到了问题?我已经启用了CORS以及GET请求work.can任何人指点如何调试此问题?
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
</customHeaders>
</httpProtocol>
更新:
[Route("api/SoftwareProduct/GetBuildNotes")]
[HttpPost]
public ResponseObject GetBuildNotes([FromBody] BuildNotes_ip BuildNotes)
{
ResponseObject response = new ResponseObject();
try
{
response.status = 200;
response.data = SPS.GetBuildNotes(BuildNotes);
if (BuildNotes.IsEdit)
response.message = "Inserted Data successfully.";
else
response.message = "Fetched Data successfully.";
return response;
}
catch (Exception e)
{
response.status = 200;
response.data = null;
response.message = e.Message;
return response;
}
}
错误: -
答案 0 :(得分:0)
我认为这是一个角色问题。确保您的后端服务器不仅接受POST
请求,还接受对同一端点URL的OPTIONS
请求。 OPTIONS
请求应该返回成功的200代码
答案 1 :(得分:0)
有时 CORS 问题具有误导性,因为它可能是一个不同的例外,但它仍然显示出来。我建议以下作为指针: 我假设您在Windows上使用Chrome。运行以下命令以打开Chrome,并禁用 Websecurity(包括CORS)。在运行此命令之前,请务必关闭所有Chrome实例。
转到Windows图标&gt;运行:
chrome.exe --user-data-dir =“C:/ Chrome开发者会话” - 禁用网络的安全性
然后再次运行应用程序,让我们知道结果。此外,如果您分享 http post 代码和API Controller方法的签名(包括路径),这将会很有帮助。