请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

feign 传递对象的时候,出现OPTIONS先请求,导致跨域403

师兄你好,我现在遇到一个问题,情况是这样的
1.前后端分离,前端使用nginx反向代理到zuul网关的端口上
2.后端两个serviceA ,serviceB,A,与B 进行服务通信
3.A作为被调用发,B作为调用方
4.A的后端接口如下:
@RequestMapping(value = “/pojotest”, method =RequestMethod.POST, produces = “application/json;charset=UTF-8”)
public String pojotest(@RequestBody ResultDto resultDto){
log.info(JsonUtil.toJsonNoSerialize(resultDto));
return ResultDto.SUCCESS(“hello world”);
}
5.B调用可以正常调用,但是A的接口这样写了之后,ajax请求
$.ajax({
//接口地址
url: _url,
type: ‘POST’,
contentType : ‘application/json’,
data: params,
dataType: “JSON”,
success: function (data) {
console.log(data)
},
error: function (returndata) {
toastr.error(returndata);
}
});
的时候,会出现先请求一个OPTIONS,这个时候出现了跨域错误,请问这个怎么解决呢

正在回答 回答被采纳积分+3

1回答

廖师兄 2020-01-09 23:47:14

前端的地址和请求的地址是什么呢?前端的请求是到nginx,不应该出现跨域。

0 回复 有任何疑惑可以回复我~
  • 提问者 cloverxixi #1
    已经解决了,contentType如果是application/json的话,会在post请求之前先发送一个前置的options请求,这个options会出现跨域,我后来是在nginx里面把options请求拦截了,如果是options,则返回200
    回复 有任何疑惑可以回复我~ 2020-01-17 15:23:40
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信