Home  >  Article  >  Web Front-end  >  prototype Chinese parameter garbled solution_prototype

prototype Chinese parameter garbled solution_prototype

WBOY
WBOYOriginal
2016-05-16 18:41:59971browse

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:

Copy code The code is as follows:

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'
Copy code The code is as follows:

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()
Copy the code The code is as follows:

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
Copy code The code is as follows:

NameValueCollection nvc= HttpUtility.ParseQueryString(Request.Url.Query, Encoding.UTF8);
string title = (nvc["param1"] == null) ? "" : nvc["param1"];//Accept Chinese

Give a complete calling example,
Copy code The code is as follows:

/**//*
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
Copy code The code is as follows:

//Page.Response.Charset = "gb2312";
NameValueCollection nvc = System.Web. HttpUtility.ParseQueryString(Request.Url.Query, Encoding.UTF8);
Name=SQLParser.StringParse(nvc["name"]);
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn