2 xu87644746 xu87644746 于 2017.09.13 23:25 提问

ajax编码问题及spring接收参数解码问题

想问下各位大神,jquery中,$.get和$.post这两个请求方式和什么有关?我看jquery中有个setting,里面有个contentTypt指定了一个utf_8,这个只针对于post提交吗,这个编码指的是服务器中解码用的utf_8吗,并且,spring中给controller方法传参时,调用的httpMessageConvert的编码也变了吗?

3个回答

zy841958835
zy841958835   Ds   Rxr 2017.09.14 08:32
已采纳

$.get和$.post这两个请求方式和你的参数长度有关和你对数据的安全性要求有关
至于为什么要设置参数编码是因为汉字和英文的占用字符数不一样 不仅仅是post 还有 option delete等等当
有汉字出现的时候 都需要设置编码

huang931027
huang931027   2017.09.14 08:46

$.get 就是请求的数据会以明文的方式传递给后台,且这种方式传递的数据量比较小,$.post与get刚好相反。 $.get和$.post是前台的,和Spring 完全没任何关系。

xu87644746
xu87644746 非常感谢,最后一句点醒我了
2 个月之前 回复
qq_26879441
qq_26879441   2017.09.14 16:32
 $.ajax({
       url:"http://localhost:8080/xxx.do",
       type : "post",  
        data:{
         value: encodeURIComponent(encodeURIComponent("哈哈"));
        }
       dataType : "json",
       success: function(data){
        $.alert('成功');
        },

       error: function(){
         $.alert('失败');
       }
    });

后台接收数据后用String paramStr = URLDecoder.decode(value,"UTF-8");处理一下

Csdn user default icon
上传中...
上传图片
插入图片