博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CORS协议与Spring注解的冲突
阅读量:6071 次
发布时间:2019-06-20

本文共 1930 字,大约阅读时间需要 6 分钟。

众所周知,HTML5的CORS协议,支持各种request method,远胜于仅支持get方式的JSONP。

但今天,我用CORS协议,却一直不成功。

 

跨域异常,如图

POST http://10.19.66.52/mts-web/register/sendAuthCode.do 400 (Bad Request) jquery.min.js:1XMLHttpRequest cannot load http://10.19.66.52/mts-web/register/sendAuthCode.do. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://oasit.cnsuning.com' is therefore not allowed access.

  

然后我在服务器端,设置:

response.setHeader("Access-Control-Allow-Origin", request.getHeader("Access-Control-Allow-Origin"));         response.setHeader("Access-Control-Allow-Credentials", "true");

  

但一直不可以,报400 响应码。

我观察后台代码,可能阻止服务器响应的,大概

method = RequestMethod.POST    @RequestParam
@RequestMapping(value = "register/sendAuthCode", method = RequestMethod.POST)    public String sendAuthCode(@RequestParam String mobilenum, HttpServletResponse response, HttpServletRequest request) {        Map
responseMap = purseService.sendAuthCode(HttpUtil.getClientIP(request), mobilenum);

将这两条删掉,果然好了!!!

 

附前后台写法

 前端

$.ajax({               ...                type: 'post',                xhrFields:{                	'withCredentials': 'true'   //允许发送HTTPS,COOKIE等凭证                } });

  

后台  

/**     * CORS跨域     */    public static final String CORS_REQ_ORIGIN = "Origin";    public static final String CORS_RES_ORIGIN = "Access-Control-Allow-Origin";    public static final String CORS_CREDENTIALS  = "Access-Control-Allow-Credentials";
/**     * 根据字符串输出JSON,     * 支持CORS协议类型的跨域     *      * @param jsonString     * @return     */    public String ajaxJsonCORS(HttpServletRequest request, HttpServletResponse response,String jsonString) {        response.setHeader(WapConstants.CORS_RES_ORIGIN, request.getHeader(WapConstants.CORS_REQ_ORIGIN));        response.setHeader(WapConstants.CORS_CREDENTIALS, "true");                return ajax(response,jsonString, "text/html");    }

 

转载于:https://www.cnblogs.com/mominger/p/3866540.html

你可能感兴趣的文章
LINUX内核调试过程
查看>>
【HDOJ】3553 Just a String
查看>>
Java 集合深入理解(7):ArrayList
查看>>
2019年春季学期第四周作业
查看>>
linux环境配置
查看>>
ASP.NET MVC中从前台页面视图(View)传递数据到后台控制器(Controller)方式
查看>>
lintcode:next permutation下一个排列
查看>>
python 递归
查看>>
一个想法(续二):换个角度思考如何解决IT企业招聘难的问题!
查看>>
tomcat指定配置文件路径方法
查看>>
linux下查看各硬件型号
查看>>
对象合成复用之策略模式
查看>>
linux命令之tail
查看>>
epoll的lt和et模式的实验
查看>>
Flux OOM实例
查看>>
安装DirectX SDK时出现Error Code:s1023 的解决方案
查看>>
图元的属性---小结
查看>>
什么是ccflow公文流程?如何使用ccflow开发一个公文流程?
查看>>
java工作流引擎Jflow父子流程demo
查看>>
tar命令
查看>>