>  기사  >  웹 프론트엔드  >  프로토타입 중국어 매개변수가 왜곡되었습니다.

프로토타입 중국어 매개변수가 왜곡되었습니다.

WBOY
WBOY원래의
2016-05-16 18:41:59969검색

portotype을 사용할 때 ajax 메소드를 호출하면 문자가 깨집니다. 이때 페이지에
를 추가해 보세요;; Page.Response.Charset = "gb2312"; 다른 솔루션 제공:

코드 복사 코드는 다음과 같습니다.
요청: 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;


호출시 인코딩 추가: 'gb2312'


코드 복사 코드는 다음과 같습니다. var myAjax = new Ajax.Updater(
"dvContent",
url,
{
메서드: 'get',
매개변수: pars,
인코딩: 'gb2312 '
});


web.config에 "gb2312"가 있는지 여부에 관계없이 작동하는 또 다른 솔루션이 있습니다.
웹사이트 인코딩이 gb2312이기 때문이죠. 프로토타입의 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 기업명이 존재하는지 확인
*/
함수 CheckCompanyExist()
{
var objtxtName=arguments[0];
var objBtnSubmit=arguments[1]
var objBtnCheck=arguments[2]; 인수[3];// 경고($(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', 매개변수: encodeURI(pars), onComplete : function() {
var txt = ('' 인수[0].responseText).evalJSON()
if(txt.Results==0|| txt.Results==currC_ID)
{
//alert('' 인수[0].responseText);
$(objBtnSubmit).value="내 비즈니스 정보 제출"
$( objBtnSubmit).disabled=false;
alert("기업 확인이 통과되었습니다. 다음 단계를 계속할 수 있습니다.")
}
else
{
$(objBtnSubmit).value=" 귀하의 기업 정보가 이 웹사이트에 이미 존재하는지 확인하십시오.";
if(window.confirm('이 회사는 이미 존재합니다. 이 회사에 대한 경영권을 얻으려면 "확인"을 클릭하여 자세히 알아보세요! ! rn창이 열리지 않을 경우, 브라우저의 '팝업 차단' 기능을 확인 후 해제하시기 바랍니다. n또는 브라우저 바에 다음 주소를 입력하세요 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,resizing=no,location=no,status=no')
}
$(objtxtName).disabled=!$(objtxtName).disabled;
}})
}


코드


코드 복사

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.