ajax发送请求乱码

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是直接能用的)}

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...