为了账号安全,请及时绑定邮箱和手机立即绑定

您好,请问一下jquery ajax 的contentType该怎么设置?

您好,请问一下jquery ajax 的contentType该怎么设置?

慕桂英546537 2021-11-17 20:11:07
最近做jquery+ajax请求时遇到了乱码问题,服务器和页面都是GBK,但是jquery ajax的contentType默认为utf-8,传过去是乱码.网上都说可以设置contentType的值,但是我设置了根本没有用.firebug里面Content-Type一直都是utf-8.有哪位高手可以高手我怎么解决呢?我用的是struts2
查看完整描述

3 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

设置contentType这种做法是不行的.不管你怎么设置,最后传到服务器的都是utf-8...因为ajax在发送数据前会自动进行一次encodeURLComplent,这个方法是按utf-8格式编码的.jquery ajax乱码一般有以下几种方案,不知道能不能成功..1.配置struts2默认编码为utf-8 2.如果默认编码不能改为utf-8,可以写一个过滤器,如果请求为ajax请求,则request.setContentType("utf-8"); 3.更改jquery ajax底层代码,这个你可以网上搜一下. 4.这个方法比较普遍,二次转码.就是说中文数据可以在页面encodeURI两次,记住是两次,然后服务器端解码.

查看完整回答
反对 回复 2021-11-23
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

设置一下编码就行了 如: $.ajax({url:'url',type:'POST',dataType:'json',contentType:'GBK'}) 设置contentType就行了 注意如果带中文 不能使用get请求要使用post请求

查看完整回答
反对 回复 2021-11-23
?
莫回无

TA贡献1865条经验 获得超7个赞

后台的response需要设置
response.setContentType("text/html");
response.setCharacterEncoding("GB2312");
response.getWriter().print(strBuf.toString());

查看完整回答
反对 回复 2021-11-23
  • 3 回答
  • 0 关注
  • 560 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信