Javascript 飞行前的响应具有无效的HTTP状态代码404”;

Javascript 飞行前的响应具有无效的HTTP状态代码404”;,javascript,asp.net,angularjs,iis,cors,Javascript,Asp.net,Angularjs,Iis,Cors,我无法从angular应用程序进行POST调用,IIS服务器拒绝了带有“飞行前响应具有无效HTTP状态代码404”的请求,我知道有很多类似的问题,但我所看到的都没有解决我的问题 我的web.config中已经有以下内容,但仍然看到了这个问题?我也启用了CORS,并使请求正常工作。有人能给我一些关于如何调试这个问题的建议吗 <httpProtocol> <customHeaders> <add name="Access-Control-Allo

我无法从angular应用程序进行POST调用,IIS服务器拒绝了带有“飞行前响应具有无效HTTP状态代码404”的请求,我知道有很多类似的问题,但我所看到的都没有解决我的问题

我的web.config中已经有以下内容,但仍然看到了这个问题?我也启用了CORS,并使请求正常工作。有人能给我一些关于如何调试这个问题的建议吗

  <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>
错误:-


我认为这是一个cors问题。确保后端服务器不仅接受
POST
请求,而且还接受对同一端点url的
OPTIONS
请求。
选项
请求应仅返回成功的200代码

有时CORS问题具有误导性,因为它可能是不同的异常,但仍会显示。我建议将以下内容作为一个指针: 我猜你在windows上使用的是Chrome。运行下面的命令,在禁用Web安全性(包括CORS)的情况下打开Chrome。在运行此命令之前,请确保关闭任何Chrome实例

转到Windows图标>运行:

chrome.exe--用户数据dir=“C:/chrome开发会话” --禁用web安全


然后再次运行应用程序,让我们知道结果。此外,如果您共享您的http post代码和API控制器方法的签名,包括路由

Anis,这也会很有帮助-您可以扩展一下
接受选项请求
?如何以及在何处添加此项?您有一个服务器,向其发送
post
请求。在该服务器上,您可能会遇到类似“当用户点击端点时,请求类型为
POST
返回内容”的情况。您还需要这样一句话:“当用户使用请求类型<代码>选项<代码>返回<代码>200 OK”您所说的话非常模糊……没有具体说明……无法转化为任何可实现的Felix-即使尝试了这一点,仍然存在此问题。。。,用最新的codeHi@dot_net更新了我的问题,我看到了更新,Web API片段看起来还不错。您还可以使用AngularJS代码段进行更新吗?也许绑定BuildNotes对象的方式就是问题所在。问题是路由对客户端不可见(AngularJs)。
    [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;
        }

    }