新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
JQuery在Ajax提交出现中文乱码的解决办法:
10余年专注成都网站制作,企业网站建设,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于企业网站建设,高端网页制作,对石凉亭等多个领域,拥有丰富的网站设计经验。
因为编码的原因
可能存在以下几点原因:
1.HTML的编码不统一:如页面用的GB2312,好像JQuery对它支持不太好。以前我一直都是用UTF-8的,一直都没有发现;
2.文件的编码,这个不好在
表面上看到,简体中文版的操作系统存的文本格式的文件默认是 GB2312,建议把文件换成UTF-8格式的
最简单的解决办法,把提交的中文文本用 JS的 escape 处理一下,就不会现出现乱码了。
如:
//保存数据
$.ajax({
url:"/guide/savecomments.aspx" ,
type:"POST" ,
dataType:"json" ,
data:"Action=SaveCommentCommNickName=" +escape
(CommNickName.val()) + "CommContent=" +escape(CommContent.val()) + "GuideID=" + GuideID.val() + "ScoreLogType=%=ScoreLogType %",
success:function
(results){
alert(results.message);
}
});
1,在js文件里加了meta吗?如果没有就加下试试,但是加在js脚本之外的,你应该知道。
2,多换几个编辑器来写js文件,包括使用记事本。
3,保存为"utf-8 no bom"格式,有的编辑器叫"utf-8 无 bom"格式。
这个是因为你的网站编码所导致,你在echo那个JS语句之前加一句:
meta
http-equiv="Content-Type"
content="text/html;
charset=utf-8"
/
就可以了。
如果你下面还有页面,即JS输入在页面未输出之前,那么你就只能把那个JS判断放到
html
xmlns="
"
head
meta
http-equiv="Content-Type"
content="text/html;
charset=utf-8"
/
这个以后,然后就不会乱码了。