在使用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如果不能打开窗口,请检查并取消您所用浏览器的“弹出窗口拦截”功能。
\n或在浏览器地栏中输入以下地址\r\nhttp://www.jb51.net/zhengming.aspx'))
window.open ('http://www.jb51.net/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]);