我认为这里的问题是CORS中的预检请求。
从Mozilla文档中,
与简单请求(如上所述)不同,“预检”请求首先通过OPTIONS方法向另一个域上的资源发送HTTP请求,以确定实际请求是否可以安全发送。跨站点请求这样被预检,因为它们可能会影响用户数据。特别是在以下情况下,请求将被预检:
它使用GET,HEAD或POST以外的方法。另外,如果使用POST发送的Content-Type以外的请求数据
- application / x-www-form-urlenpred,
- 多部分/表单数据
- 文字/纯文字
例如,如果POST请求使用application / xml或text / xml将XML有效负载发送到服务器,则该请求被预检。
- 它在请求中设置自定义标头(例如,请求使用标头,例如X-PINGOTHER)
如上所述,即使您进行的是简单的POST请求,请求中的Content-Type
application/json还是不同于上述3种类型,因此它被视为预检请求,并且在实际POST之前会触发OPTIONS请求请求。
您可以通过
doOptions在servlet中实现来解决此问题,只需在其中添加标头即可使用:)



