When using portotype, garbled characters appear when calling the ajax method. At this time, you can try adding
to the page;; Page.Response.Charset = "gb2312";
If it doesn't work, someone provides another solution:
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;
}
When calling, add Encoding: 'gb2312'
var myAjax = new Ajax. Updater(
"dvContent",
url,
{
method: 'get',
parameters: pars,
encoding: 'gb2312'
});
There is another solution; it will work regardless of whether "gb2312" is in web.config.
Because the website encoding is gb2312. When using prototype's ajax, I encountered the problem of garbled Chinese parameters.
The method is as follows;
1. Encode the parameters with encodeURI()
var par;
par="param1=" "Chinese value" "¶m2=" "Other value";
var url="server.aspx";
var myAjx=new Ajax.Request(url,{method: get',parameters: encodeURI(par) ,onComplete: submit});
2. Receiver code
NameValueCollection nvc= HttpUtility.ParseQueryString(Request.Url.Query, Encoding.UTF8);
string title = (nvc["param1"] == null) ? "" : nvc["param1"];//Accept Chinese
Give a complete calling example,
/**//*
Ajax enterprise name exists check
*/
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="Submit my business information";
$(objBtnSubmit).disabled=false;
alert("Enterprise verification passed, you can continue to the next step");
}
else
{
$(objBtnSubmit).value="Please confirm whether your enterprise information already exists in this website";
if(window.confirm('This company already exists. If you want to obtain management rights for this company, click "Confirm" to learn more! ! rnIf you cannot open the window, please check and cancel the "pop-up blocking" function of your browser.
nOr enter the following address in the browser bar rnhttp://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"]);