ホームページ >ウェブフロントエンド >jsチュートリアル >プロトタイプの中国語パラメータが文字化けする solution_prototype

プロトタイプの中国語パラメータが文字化けする solution_prototype

WBOY
WBOYオリジナル
2016-05-16 18:41:591017ブラウズ

portotypeを使用すると、ajaxメソッドを呼び出すときに文字化けが発生します;; Page.Response.Charset = "gb2312";を追加してみてください。別の解決策を提供します:


request: function(url ) {
this.url = url;
this.method = this.options.method;
var params = this.options.parameters; 🎜>if(this.encoding.toUpperCase()=="UTF-8"){
encode=encodeURIComponent;
}else{
encode=escape;
呼び出し時に、エンコーディング: 'gb2312' を追加します。




コードをコピー


コードは次のとおりです: パラメータ: pars,
エンコーディング: 'gb2312 '
});


「gb2312」が web.config にあるかどうかに関係なく機能する別の解決策があります。
Web サイトのエンコードが gb2312 であるためです。プロトタイプの ajax を使用しているときに、中国語パラメータが文字化けするという問題に遭遇しました。
方法は次のとおりです。
1. encodeURI() でパラメータをエンコードします



コードをコピーします。


var par;
par="param1=" "中国語の値" "¶m2=" "その他の値"; 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 エンタープライズ名が存在するかどうかをチェック
*/ 関数 CheckCompanyExist() { var objtxtName=arguments[0]; var objBtnCheck=arguments[2]; argument[3]; //alert($(arguments[0]).value); var objtxtValue=$(arguments[0]).value
$(objBtnSubmit) ;
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'、パラメータ: encodeURI(pars)、onComplete : function() {
var txt = ('' argument[0].responseText).evalJSON();
if(txt.Results==0|| txt.Results==currC_ID)
{
//alert('' argument[0].responseText);
$(objBtnSubmit).value="ビジネス情報を送信します"; objBtnSubmit).disabled=false;
alert("エンタープライズ認証に合格しました。次のステップに進むことができます");
}
else
{
$(objBtnSubmit).value="あなたの企業情報がこの Web サイトにすでに存在するかどうかを確認してください。";
if(window.confirm('この会社はすでに存在します。この会社の管理権を取得したい場合は、「確認」をクリックして詳細を確認してください。 ! rnウィンドウが開けない場合は、ブラウザの「ポップアップブロック」機能を確認し、解除してください。 nまたは、ブラウザ バーに次のアドレスを入力します rnhttp://www.jb51.net/ZhengMing.aspx'))
window.open ('http://www.jb51.net/ZhengMing.aspx', 'newwindow ','高さ=160、幅=800、トップ=0、左=0、ツールバー=いいえ、メニューバー=いいえ、スクロールバー=いいえ、サイズ変更可能=いいえ、場所=いいえ、ステータス=いいえ');
}
$(objtxtName).disabled=!$(objtxtName).disabled;
}


コード



コードをコピーします


コードは次のとおりです。


//Page.Response.Charset = "gb2312";
NameValueCollection nvc = System.Web . HttpUtility.ParseQueryString(Request.Url.Query, Encoding.UTF8);
Name=SQLParser.StringParse(nvc["name"]);
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。