我想在我的webservice中发布输入值。我检查时遇到了很多错误,我发现OPTIONS没有使用POST
这是我的代码:
[Flags]
public enum USB_PROTOCOLS : uint
{
Usb110 = 0x01,
Usb200 = 0x02,
Usb300 = 0x04,
}

奇怪的是,为什么我选择OPTIONS而不是POST,我该如何解决这个问题呢? (我正在使用AngularJS)
答案 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,然后请求被预检。