1.不使用jsonp,只修改服务端
response.setHeader("Access-Control-Allow-Origin",reqs.getHeader("Origin"));//"http://172.16.31.112:8765" response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
2.前端post请求,到后台请求的时候发现成了options请求,需要添加:
if (reqs.getMethod().equals("OPTIONS")) { response.addHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.addHeader("Access-Control-Allow-Headers", "Content-Type,Origin,Accept"); response.addHeader("Access-Control-Max-Age", "120"); }
注意:前端必须
1.前端ajax请求时没有设置Content-Type为Json。
2.发送的请求内容不要转成JSON对象,直接发送JSON字符串即可,否则就415错误!
本文介绍了解决前端与后端跨域问题的方法。通过在服务端设置响应头允许特定来源访问,并针对OPTIONS预检请求进行特殊处理,确保了跨源资源共享(CORS)的有效实现。
1974

被折叠的 条评论
为什么被折叠?



