现在的位置: 首页 > 综合 > 正文

JQuery ajax的post方法向action传文件路径出现乱码(非中文乱码)

2013年01月22日 ⁄ 综合 ⁄ 共 666字 ⁄ 字号 评论关闭


在Jquery中使用post方法给服务器发送数据出现乱码,具体代码就现象如下:
js代码:

function loadChild(val){
//alert();
$.post('backstage/resource/toloadChild', {
path : "D:\tomcat-7.0.27\webapps\dssx\front\data\exam"
}, function(data) {
alert(data);
}, "xml");
}

Action中的接收代码:

public String loadChild() throws UnsupportedEncodingException{
request = ServletActionContext.getRequest();
request.setCharacterEncoding("utf-8");//没有这句也是乱码
File file = new File(request.getParameter("path"));
System.out.println(file.getPath());
return SUCCESS;
}


乱码如下:
D: omcat-7.0.27webappsdssx rontdataexam
如果js中用escape("D:\tomcat-7.0.27\webapps\dssx\front\data\exam")的话,就是这样的:
D%3A%09omcat-7.0.27webappsdssx%0Crontdataexam

网页都是使用UTF-8编码

解决办法:我发现其实只要把路径中的反斜杠改为正斜杠就可以了

抱歉!评论已关闭.