prototype 中文参数乱码解决方案


Posted in Javascript onNovember 09, 2009

在使用portotype,调用ajax方法时出现乱码,此时,获取页面中加入
可以试试;; Page.Response.Charset = "gb2312";
如果不奏效,有人提供另外解决方案:

request: function(url) { 
this.url = url; 
this.method = this.options.method; 
this.encoding = this.options.encoding; 
var params = this.options.parameters; 
if(this.encoding.toUpperCase()=="UTF-8"){ 
encode=encodeURIComponent; 
}else{ 
encode=escape; 
}

在调用时,加上encoding: 'gb2312'
var myAjax = new Ajax.Updater( 
"dvContent", 
url, 
{ 
method: 'get', 
parameters: pars, 
encoding: 'gb2312' 
});

另外还有一种方案;无论web.config中是否是"gb2312",都可以奏效。
因为网站编码是gb2312。在使用prototype的ajax时遇到中文参数乱码的问题。
方法如下;
1.将参数用encodeURI()编码
var par; 
par="param1="+"中文值"+"¶m2="+"其他值"; 
var url="server.aspx"; 
var myAjx=new Ajax.Request(url,{method: get',parameters: encodeURI(par) ,onComplete: submit});

2.接受端代码
NameValueCollection nvc= HttpUtility.ParseQueryString(Request.Url.Query, Encoding.UTF8); 
string title = (nvc["param1"] == null) ? "" : nvc["param1"];//接受中文

给出一个完整的调用示例,
/**//* 
Ajax企业名称是否存在检查 
*/ 
function CheckCompanyExist() 
{ 
var objtxtName=arguments[0]; 
var objBtnSubmit=arguments[1]; 
var objBtnCheck=arguments[2]; 
var currC_ID=arguments[3]; 
//alert($(arguments[0]).value); 
var objtxtValue=$(arguments[0]).value; 
$(objBtnSubmit).disabled=true; 
if($F(objtxtName).trim()) 
{ 
$(objtxtName).disabled=!$(objtxtName).disabled; 
var url="/tempAjaxService/"; 
var pars="module=CompanyExist&C_ID="+currC_ID+"&name="+objtxtValue;//$F(objtxtName);//objtxtValue;// 
var myAjax = new Ajax.Request(url, {method: 'get', parameters: encodeURI(pars),onComplete : function() { 
var txt = (''+arguments[0].responseText).evalJSON(); 
if(txt.Results==0||txt.Results==currC_ID) 
{ 
//alert(''+arguments[0].responseText); 
$(objBtnSubmit).value="提交我的企业信息"; 
$(objBtnSubmit).disabled=false; 
alert("企业验证通过,您可以继续下一步操作"); 
} 
else 
{ 
$(objBtnSubmit).value="请先确认您的企业信息是否已存在本网中"; 
if(window.confirm('此企业已存在,想获得该公司管理权限,点击“确定”,了解详情!!\r\n如果不能打开窗口,请检查并取消您所用浏览器的“弹出窗口拦截”功能。\r\n或在浏览器地栏中输入以下地址\r\nhttps://3water.com/ZhengMing.aspx')) 
window.open ('https://3water.com/ZhengMing.aspx','newwindow','height=160,width=800,top=0,left=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no'); 
} 
$(objtxtName).disabled=!$(objtxtName).disabled; 
}}); 
}

Code
//Page.Response.Charset = "gb2312"; 
NameValueCollection nvc = System.Web.HttpUtility.ParseQueryString(Request.Url.Query, Encoding.UTF8); 
Name=SQLParser.StringParse(nvc["name"]);
Javascript 相关文章推荐
javascript之ESC(第二类混淆)
May 06 Javascript
JavaScript网页制作特殊效果用随机数
May 22 Javascript
JavaScript 数组的 uniq 方法
Jan 23 Javascript
使用JQuery进行跨域请求
Jan 25 Javascript
JavaScript Event学习第六章 事件的访问
Feb 07 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
Aug 09 Javascript
js获取url中"?"后面的字串方法
May 15 Javascript
Node.js和MongoDB实现简单日志分析系统
Apr 25 Javascript
vue-cli 打包使用history模式的后端配置实例
Sep 20 Javascript
Vue中使用JsonView来展示Json树的实例代码
Nov 16 Javascript
Js实现粘贴上传图片的原理及示例
Dec 09 Javascript
npm全局环境变量配置详解
Dec 15 Javascript
jQuery 常见学习网站与参考书
Nov 09 #Javascript
Javascript select下拉框操作常用方法
Nov 09 #Javascript
页面中js执行顺序
Nov 09 #Javascript
js 鼠标拖动对象 可让任何div实现拖动效果
Nov 09 #Javascript
Jquery作者John Resig自己封装的javascript 常用函数
Nov 09 #Javascript
JQuery 图片延迟加载并等比缩放插件
Nov 09 #Javascript
让Firefox支持event对象实现代码
Nov 07 #Javascript
You might like
php目录遍历函数opendir用法实例
2014/11/20 PHP
腾讯的ip接口 方便获取当前用户的ip地理位置
2010/11/25 Javascript
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
2013/12/10 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
2014/10/26 Javascript
JS+CSS实现的经典tab选项卡效果代码
2015/09/16 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
Vue 中对图片地址进行拼接的方法
2018/09/03 Javascript
读懂CommonJS的模块加载
2019/04/19 Javascript
Promise扫盲贴
2019/06/24 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
Python入门篇之对象类型
2014/10/17 Python
python optparse模块使用实例
2015/04/09 Python
python微信跳一跳游戏辅助代码解析
2018/01/29 Python
Python实现随机漫步功能
2018/07/09 Python
python得到电脑的开机时间方法
2018/10/15 Python
如何基于python操作excel并获取内容
2019/12/24 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
详解HTML5中ol标签的用法
2015/09/08 HTML / CSS
美国二手奢侈品寄售网站:TheRealReal
2016/10/29 全球购物
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
英国奢侈品牌时尚购物平台:Farfetch(支持中文)
2020/02/18 全球购物
医学院校毕业生自荐信范文
2014/01/01 职场文书
客户答谢会活动方案
2014/08/31 职场文书
2015年预备党员自我评价
2015/03/04 职场文书
入党介绍人意见怎么写
2015/06/03 职场文书
宿舍管理制度范本
2015/08/07 职场文书
Java面试题冲刺第十八天--Spring框架3
2021/08/07 面试题
Python之基础函数案例详解
2021/08/30 Python
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL
SpringBoot2零基础到精通之数据库专项精讲
2022/03/22 Java/Android
vue实现拖拽交换位置
2022/04/07 Vue.js