拥有OPTIONS方法而不是POST

时间:2016-06-07 15:57:10

标签: javascript angularjs

我想在我的webservice中发布输入值。我检查时遇到了很多错误,我发现OPTIONS没有使用POST

enter image description here

这是我的代码:



[Flags]
public enum USB_PROTOCOLS : uint
{
    Usb110 = 0x01,
    Usb200 = 0x02,
    Usb300 = 0x04,
}




奇怪的是,为什么我选择OPTIONS而不是POST,我该如何解决这个问题呢? (我正在使用AngularJS)

1 个答案:

答案 0 :(得分:4)

access-control-request-method标题开始,您正在查看CORS预检请求。在发送实际请求之前,当您跨越原点时会发生这些情况。服务器可以使用标头进行响应,以根据源来源,方法等来指示是否允许实际请求。

the MDN docs开始,任何发送JSON的POST请求都会有相应的预检请求:

  

特别是,如果出现以下情况,请求会被预检:

     
      
  • 它使用GET,HEAD或POST以外的方法。此外,如果使用POST来发送具有除以外的Content-Type的请求数据   application / x-www-form-urlencoded,multipart / form-data或text / plain,   例如如果POST请求使用XML向服务器发送XML有效负载   application / xml或text / xml,然后请求被预检。
  •