手机版

JQuery.ajax传递中文参数的真正解决方案

时间:2021-10-19 来源:互联网 编辑:宝哥软件园 浏览:

最近也遇到了中文参数传递的问题。在网上搜索,到处复制粘贴“终极”和“解决方案”,无非是转义(str)进行转码,然后在服务器上写一个方法重新编辑,或者使用System下的方法。文本。要更改的编码。我已经使用原型框架很长时间了。它已在下使用。net-GB2312或jsp-utf8,并且从未遇到过字符编码的问题。因此,原型和JQuery代码都被下载来开启研究。具体结果如下JQuery与Prototype创建Ajax代码比较

不同的是,JQuery默认为内容类型: Application/x-www-form-URL encoded,而原型为内容类型3360 Application/x-www-form-URL encoded。Charset=UTF-8这就是JQuery乱码的原因。当没有指定字符集时,使用ISO-8859-1 ISO8859-1,通常称为拉丁语-1。拉丁语-1包括书写所有西方和欧洲语言不可缺少的附加字符。JQuery的Ajax根本不考虑国际化,而是使用欧洲字符集,导致中文传输乱码。我们的UTF-8可以解决这个问题。最后参考需要修改JQuery的代码,明确声明contentType使用utf-8字符集,可以解决GB2312中的中文传输问题。修订如下:修改JQuery代码

只需修改JQuery代码并添加charset=UTF-8,这样就不需要更改web.config或更改页面中的代码,也不需要在服务器上使用escapc(str)解码。如何通过英语,如何通过语文。给出一个简单的代码测试:test.html:代码如下:DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN ' ' http://www . w3 . org/TR/XHTML 1/DTD/XHTML L1-Transitional . DTD ' html xmlns=' http://www . w3 . org/1999/XHTML ' head meta http-equiv=' Content-Type ' Content=' text/html;charset=gb2312'/title/title脚本类型='text/javascript ' src=' http : scripts/jquery-1 . 3 . 2 . min . js '/脚本脚本类型=' text/JavaScript '函数DoAjax(){ $。post('AjaxTest.aspx ',{txt:$('#tbox1 ')。val()},function(data){ $(' # AJaxResponse ')。文本(数据);} );}/script/head body pa href=' JavaScript : doajax();'Test/a输入名称=' tbox 1 ' id=' tbox 1 ' type=' text '/p div id=' Ajax response '/div/body/html Ajax extst . aspx : copy代码如下3360% @ pagelanguage=' c # 'content type=' text/html ' response encoding=' GB 2312 ' % script runat=' server '字符串参数;void Page_Load(对象发送方,EventArgs e){ parms=Request[' txt '];if(字符串。IsNullOrEmpty(参数)){ Response。写入('为空');}else{ Response。write(parms);} }/脚本

版权声明:JQuery.ajax传递中文参数的真正解决方案是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。