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

ajax发送请求乱码

发布时间:2020-12-16 01:51:20 所属栏目:百科 来源:网络整理
导读:ajax发送端应该把包含有中文参数的url编码2次如下:var url="savePoints.jsp?lng="+lng+"lat="+lat+"high="+altitude+"address="+address+"info="+info+"×tamp="+new Date().getTime();url=encodeURI(encodeURI(url));//一定要是2层编码$.post(url,function(
ajax发送端应该把包含有中文参数的url编码2次如下:
var url="savePoints.jsp?lng="+lng+"&lat="+lat+"&high="+altitude+"&address="+address+"&info="+info+"×tamp="+new Date().getTime();
url=encodeURI(encodeURI(url));//一定要是2层编码
$.post(url,function(data){alert("保存成功!");}); 
action接收端在取中文参数时应该解码如下才能恢复成中文
import java.util.*,java.text.*;
String info = java.net.URLDecoder.decode(request.getParameter("info"),"utf-8");


而接收结果乱码则需要通常的情况是在web.xml中加字符过滤器,


 
 
或者
或者 ServletActionContext.getResponse().setContentType("text/json;charset=UTF-8");//解决乱码问题,没有这句,回调函数的内容可能乱码 ServletActionContext.getResponse().getWriter().write("字符串内容");//在写入之前执行上面一句,可以解决乱码<filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param></init-param><param-name>encoding</param-name><param-value>UTF-8</param-value><init-param></init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>publicStringbusinessShop(HttpServletResponseresponse,HttpServletRequestrequest){response.setCharacterEncoding("utf-8");//业务逻辑(这个response是直接能用的)}

(编辑:李大同)

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

    推荐文章
      热点阅读