**使用Jsonp,即使设置AJAX请求为POST,TM会将其转为GET请求. 这样web.xml设置的springmvc的CharacterEnCodingFilter
不起作用.
执行request.setCharacterEnCoding("utf-8")
对GET请求是无效的!**>(!错误!)
[更正]之所以会变成GET请求不是Jsonp的过错,而是IDea里面用浏览器打开HTML后,可以用http协议. 但是@H_301_7@会将post换成get.
请看下面的请求头:
Request URL: http://localhost:8089/search.do?callback=jquery11210772629357678043_1528177787309&searchType=%E5%A7%93%E5%90%8D&searchContent=%E6%9D%8E%E5%9B%9B&_=1528177787310Request Method: GET
Js$.AJAX({ type: 'POST',url: requestArguments.url,data: requestArguments.data,success: function (responseResult) {}.bind(this),dataType: '<a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>onp'</code></pre>
后台controller部分代码头部:
@RequestMapPing(value = {"/search"}) //http://localhost:8080/certno/110101195607302022.do @ResponseBody public MapPingJacksonValue searchGraph(String searchType,String searchContent,@RequestParam(value = "callback",required = false) String callback,httpServletResponse response) throws CustomException { .... //构造Map<a href="https://m.jb51.cc/tag/Ping/" target="_blank" >Ping</a>JacksonValue,SpringMVC配合<a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>onp<a href="https://www.jb51.cc/tag/jiejue/" target="_blank" >解决</a><a href="https://m.jb51.cc/tag/liulanqi/" target="_blank" >浏览器</a>跨域访问<a href="https://m.jb51.cc/tag/wenti/" target="_blank" >问题</a> Map<a href="https://m.jb51.cc/tag/Ping/" target="_blank" >Ping</a>JacksonValue mjv = new Map<a href="https://m.jb51.cc/tag/Ping/" target="_blank" >Ping</a>JacksonValue(responseRes<a href="https://m.jb51.cc/tag/ul/" target="_blank" >ul</a>t); mjv.set<a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>onpFunction(callback); return mjv;
**使用Jsonp,TM会将其转为GET请求. 这样web.xml设置的springmvc的CharacterEnCodingFilter
不起作用.
执行request.setCharacterEnCoding("utf-8")
对get请求是无效的!**
所以,还是乖乖的将Tomcat的server.xml的配置改下吧.
总结 以上是内存溢出为你收集整理的jsonp+springmvc解决跨域问题请求参数乱码问题全部内容,希望文章能够帮你解决jsonp+springmvc解决跨域问题请求参数乱码问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)