加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

jsonp+springmvc解决跨域问题请求参数乱码问题

发布时间:2020-12-16 19:59:50 所属栏目:百科 来源:网络整理
导读:**使用jsonp,即使设置ajax请求为POST,TM会将其转为GET请求. 这样web.xml设置的springmvc的 CharacterEncodingFilter 不起作用. 执行 request.setCharacterEncoding("utf-8") 对GET请求是无效的!**>(!错误!) [更正]之所以会变成GET请求不是jsonp的过错,而是id
**使用jsonp,即使设置ajax请求为POST,TM会将其转为GET请求. 这样web.xml设置的springmvc的CharacterEncodingFilter不起作用.
执行request.setCharacterEncoding("utf-8")对GET请求是无效的!**>(!错误!)
[更正]之所以会变成GET请求不是jsonp的过错,而是idea里面用浏览器打开html后,可以用http协议. 但是会将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&_=1528177787310
Request Method: GET

js

$.ajax({
    type: 'POST',url: requestArguments.url,data: requestArguments.data,success: function (responseResult) {
}.bind(this),dataType: 'jsonp'</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 {
   ....

    //构造MappingJacksonValue,SpringMVC配合jsonp解决浏览器跨域访问问题
    MappingJacksonValue mjv = new MappingJacksonValue(responseResult);
    mjv.setJsonpFunction(callback);

    return mjv;

**使用jsonp,TM会将其转为GET请求. 这样web.xml设置的springmvc的CharacterEncodingFilter不起作用.
执行request.setCharacterEncoding("utf-8")对get请求是无效的!**

所以,还是乖乖的将Tomcat的server.xml的配置改下吧.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读