SoFunction
Updated on 2025-04-12

About the solution to the problem of UTF-8 client using AJAX to obtain GB2312 server-side garbled code


/**
2 * myAjax
3 * by netwild
4 * netwild@
5 */
6 var myAjaxConfig = {
7 "url":""
8 ,"params":""
9 ,"method":"GET"
,"callBack":function(){}
,"isXml":false
,"isBody":false
,"isCache":false
,"errorReport":true
,"statePoll":null
,"postData":null
,"attachs":{}
};
function myAjaxCall(requestJson){
var attach;
if(requestJson && typeof requestJson == "object"){
if(){ = ;}
if(){ = ;}
if(){ = ;}
if(){ = ;}
if(){ = ;}
if(){ = ;}
if(){ = ;}
if(){ = ;}
if(){ = ;}
}
if(!){
var nocache = new Date().getTime();
if(("?")>0){ += "&nocache=" + nocache;}
else{ += "?nocache=" + nocache;}
}
var newCall = new myAjaxCore();
();
}
function myAjaxCore(){
var _self = this;
var _state,_status;
var _httpRequest,_attach;
////////////////////////////////////////////////////
= function(){
if (){
_httpRequest = new XMLHttpRequest();
if (_httpRequest.overrideMimeType) {
_httpRequest.overrideMimeType('text/xml');
}
}else if () {
var MSXML = ['.6.0','.3.0','.5.0','.4.0','', ''];
for(var n=0;n<;n++){
try {
_httpRequest = new ActiveXObject(MSXML[n]);
break;
}catch(e){}
}
}
with(_httpRequest) {
onreadystatechange = _self.getResponse;
open(,,true);
if( == "POST" && ( != "")){
setRequestHeader("Content-Length",);
setRequestHeader("Content-Type","application/x-www-form-urlencoded");
send();
}else{
var textType = ?"text/xml":"text/plain";
_httpRequest.setRequestHeader('Content-Type',textType);
if(){
setRequestHeader("Accept-Encoding", "gzip, deflate");
}else if(){
setRequestHeader("Connection","close");
}
send(null);
}
}
};
////////////////////////////////////////////////////
= function(){
_state = _httpRequest.readyState;
if(_httpRequest.readyState == 4 && _httpRequest.status){_status = _httpRequest.status;}
if(){(_httpRequest.readyState);}
if(_httpRequest.readyState==4 && _httpRequest.status>=400){
_self.abort();
_self.alertf("ERROR:HTTP response code "+_httpRequest.status);
}
if(_httpRequest.readyState==4 && _httpRequest.status==200){
var response_content;
if(){
response_content = _httpRequest.responseXML;
}else if(){
response_content = _httpRequest.responseBody;
}else{
response_content = _httpRequest.responseText;
}
if(typeof == "function"){
(response_content,);
}else{
eval(+"(response_content,)");
}
}
};
////////////////////////////////////////////////////
=function(){_httpRequest.abort();};
=function(){return _state;};
=function(){return _status;};
=function(){_self.abort();delete(_httpRequest);};
=function(error){if(){alert(error);}};
}
if(!browser){
var browser={};
= = ("MSIE")>0;
= = = = ("Firefox")>0;
= = ("Gecko")>0;
= =("Safari")>0;
= =("Camino")>0;
= =("Opera")>0;
= =!( || || || || );
}