婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 關于IE下AJAX的問題探討

關于IE下AJAX的問題探討

熱門標簽:外呼系統獲取客戶手機號 襄陽外呼系統接口 老虎郵局地圖標注點 徐州電銷卡外呼系統供應商 科智聯智能電銷機器人 目標三維地圖標注 百靈鳥 上海浦東百度地圖標注中心注冊 青海醫療智能外呼系統怎么樣
今天JS練手的時候,想封裝一個發送AJAX請求的對象,當然,是想要兼容全瀏覽器的。代碼如下:
復制代碼 代碼如下:

var Ajax = {
xhr: null,
callback: null,
XMLHttp: function() {
var xmlhttp;
//標準瀏覽器
if(window.XMLHttpRequest) {
try {
xmlhttp = new XMLHttpRequest();
}
catch(e) {
alert('Unknown Ajax Error');
//console.log('Unknown Ajax Error');
}
}
//IE瀏覽器
else {
if(window.ActiveXObject) {
try {
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
catch(e) {
try {
xmlhttp = new ActiveXObject('MSXML2.XMLHTTP');
}
catch(e) {
alert('Unknown Ajax Error');
//console.log('Unknown Ajax Error');
}
}
}
}
return xmlhttp;
},
connect: function(paramsObj) {
var PO = paramsObj;
//判斷傳參合法性
if(!(PO instanceof Object)) {
alert('Ajax params illegal');
//console.log('Ajax params illegal');
return false;
}
else if(!(PO.urlPO.methodPO.callback)) {
return false;
}
//初始化內部參數
this.xhr = this.XMLHttp();
this.callback = PO.callback;
//遍歷params對象并生成url參數
var requestParams = '';
if(PO.params) {
for(key in Po.params) {
requestParams += '' + key + '=' + params[key];
}
requestParams = requestParams.substr(1);
}
//發起Ajax請求
try {
var xhr = this.xhr;
xhr.onreadystatechange = this.response;
//POST請求處理
if(PO.method.toLowerCase()=='post') {
xhr.open('POST',PO.url,true);
xhr.send(requestParams);
}
//GET請求處理
else if(PO.method.toLowerCase()=='get') {
xhr.open('GET',PO.url+'?'+requestParams,true);
xhr.send(null);
}
}
catch(e) {
this.callback(null,-1);
}
},
response: function() {
// 此段代碼在全瀏覽器下測試通過
// if(Ajax.xhr.readyState==4) {
// if(Ajax.xhr.status=='200') {
// Ajax.callback(Ajax.xhr.responseText);
// }
// else {
// Ajax.callback(null,Ajax.xhr.status);
// }
// }
//
// 下面的代碼在IE下失效(無報錯,請求有相應,卻沒有返回結果),其它瀏覽器無此問題
if(this.readyState==4) {
if(this.status=='200') {
Ajax.callback(this.responseText);
}
else {
Ajax.callback(null,this.status);
}
}
}
};

//Ajax實例
Ajax.connect({
url: 'test.html',
method: 'GET',
callback: function(data,err) {
if(data!=null) {
alert(data);
// console.log(data);
}
else {
alert(err);
// console.log(err);
}
}
});

問題描述: 大家看一下我代碼中有一塊注釋掉的代碼,那塊代碼是在全瀏覽器下測試通過的。而沒有注釋掉的代碼是有問題的代碼,具體表現:

在Chrome,Firefox,Opera,Safari下測試通過,在IE6、7(IE8+沒有測試)下的表現是:沒有報錯,也沒有返回結果。

對比上下兩塊代碼的不同,我想有兩個可能,一個是this指向的問題,一個是IE下onreadystatechange函數執行的上下文環境有區別于其它瀏覽器。但是現在又無法確定問題,IE6、7下的JS調試又挺困難的(試了firebug-lite,但是沒有想象中的好用,而且這個Ajax對象在firebug-lite下調用卻成功了,有點糊涂)
解決過程:

其實測試方法很簡單。主要是頭腦一發熱沒想到,吃了個飯回來就恍然大悟。

其實JS在處理this指向不明的問題的時候,可以嘗試使用this instanceof Object這類判斷去了解它指向的是一個什么類型的變量。而對于判斷是否為全局調用,則可以使用this===window。在這里我用的就是這個方法。

在代碼出現問題的那一塊,我們可以試著插入一段:

alert(this instanceof Object);

結果發現,在IE6下,返回為false!一目了然!在IE下才可能出現如此詭異的返回值!證明什么?也就是說函數的執行上下文并非是對象!如此一來,在IE下就只能想到window對象了,要知道IE向來都是奇葩。你們標準瀏覽器說window對象是對象,我就偏不認。你還在懷疑我的看法?那何不試試?

alert(this===window);

結果是true!怎么樣?沒話說了吧?所以這樣,問題就明朗了:

在IE下,AJAX請求得到響應后,回調函數onreadystatechange是在全局環境下被調用的。而在標準瀏覽器下,其執行上下文是XMLHttpRequest對象。故造成了我這次的“事故”。

標簽:荊州 紅河 商洛 股票 揭陽 佛山 辛集 咸寧

巨人網絡通訊聲明:本文標題《關于IE下AJAX的問題探討》,本文關鍵詞  關于,下,AJAX,的,問題,探討,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《關于IE下AJAX的問題探討》相關的同類信息!
  • 本頁收集關于關于IE下AJAX的問題探討的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品国产三级国产aⅴ中文| 91免费观看在线| 亚洲综合色区另类av| 日韩理论片在线| 国产精品美女一区二区三区| 国产欧美精品在线观看| 国产欧美日韩一区二区三区在线观看| 精品日韩一区二区三区免费视频| 日韩视频免费观看高清完整版| 日韩欧美一二三| 2023国产精华国产精品| 久久亚洲综合色一区二区三区| 久久久影视传媒| 国产精品午夜在线观看| 亚洲人成亚洲人成在线观看图片| 亚洲精品视频在线观看免费| 亚洲高清三级视频| 蜜臀99久久精品久久久久久软件| 激情六月婷婷综合| 国产99久久精品| 色综合久久精品| 欧美日韩高清不卡| 欧美不卡一二三| 国产精品午夜电影| 亚洲1区2区3区4区| 国产精品综合一区二区| 色妞www精品视频| 欧美精品第1页| 久久久久久久久久久久久久久99| 欧美国产日产图区| 日韩在线卡一卡二| 成人小视频在线| 成人va在线观看| 欧美日韩国产一区二区三区地区| 精品国产91乱码一区二区三区 | 青青草91视频| 成人午夜免费av| 欧美一区二区三区成人| 国产精品美女久久久久久久久| 图片区小说区国产精品视频| 成人一区二区三区视频在线观看| 欧美精品三级日韩久久| 国产精品久线观看视频| 久久成人羞羞网站| 色婷婷综合激情| 欧美国产精品v| 另类小说欧美激情| 欧美日韩黄色影视| 亚洲日本成人在线观看| 国产高清在线精品| 日韩视频免费观看高清完整版| 亚洲欧洲在线观看av| 韩国毛片一区二区三区| 91麻豆精品国产91| 亚洲一区二区影院| 亚洲图片欧美色图| 国产一区二区三区四| 欧美一区二区私人影院日本| 国产片一区二区| 午夜国产精品影院在线观看| 成人免费视频一区| 日韩一级完整毛片| 亚洲激情图片小说视频| 性做久久久久久免费观看欧美| 极品少妇xxxx精品少妇| 欧美怡红院视频| 欧美一区二区三区四区在线观看| 国产精品国产三级国产普通话蜜臀 | 亚洲精品在线网站| 亚洲视频狠狠干| 国产精品一区二区黑丝| 欧美日韩卡一卡二| 国产精品国产三级国产有无不卡 | 成人精品视频一区二区三区尤物| 欧美日韩三级一区| 中文字幕在线观看一区二区| 国内精品自线一区二区三区视频| 91国产免费看| 中文字幕一区二区三区在线不卡| 国产真实乱子伦精品视频| 91电影在线观看| 国产精品的网站| 国产精品综合一区二区| 日韩精品一区二区三区视频| 日韩精品电影在线观看| 国产91精品精华液一区二区三区 | 91福利在线看| 亚洲精品乱码久久久久久黑人| 国产成人丝袜美腿| 日韩精品综合一本久道在线视频| 一区二区三区在线观看欧美| 91在线免费视频观看| 国产精品久久久久久久裸模| 高清久久久久久| 日本一二三四高清不卡| 成人午夜激情片| 中文字幕亚洲一区二区va在线| 国产精品伊人色| 中文字幕av免费专区久久| 国精产品一区一区三区mba桃花 | 国产suv一区二区三区88区| 26uuu国产一区二区三区| 国内久久精品视频| 欧美极品aⅴ影院| 成人午夜精品一区二区三区| 国产精品丝袜在线| 91精品福利视频| 久久99精品国产麻豆不卡| 精品成人一区二区三区四区| 精品一区二区久久久| 久久久亚洲午夜电影| 国产不卡免费视频| 综合av第一页| 色婷婷亚洲精品| 人禽交欧美网站| 国产欧美精品国产国产专区| 一本色道a无线码一区v| 亚洲国产综合视频在线观看| 日韩精品中文字幕在线一区| 成人一二三区视频| 亚洲一区二区三区三| 26uuu精品一区二区三区四区在线| 国产精品一区二区x88av| 亚洲精品自拍动漫在线| 这里是久久伊人| 久久精品国产亚洲a| 国产拍揄自揄精品视频麻豆| 91黄色在线观看| 国产99久久久久久免费看农村| 久久五月婷婷丁香社区| 欧美亚洲国产一区在线观看网站 | 69堂国产成人免费视频| 国产91精品免费| 午夜久久久久久久久久一区二区| 久久亚洲欧美国产精品乐播| 色狠狠桃花综合| 国产成人8x视频一区二区| 亚洲www啪成人一区二区麻豆| 国产亚洲欧洲997久久综合| 在线观看三级视频欧美| 国产91丝袜在线观看| 免费看精品久久片| 亚洲精品一二三| 国产欧美一区二区精品忘忧草| 欧美日韩一区二区三区四区| 北岛玲一区二区三区四区| 日韩黄色在线观看| 国产精品入口麻豆原神| 色综合天天做天天爱| 成人精品国产一区二区4080| 蜜桃视频在线观看一区二区| 亚洲精品水蜜桃| 欧美激情资源网| 久久丝袜美腿综合| 夜夜嗨av一区二区三区四季av| 欧美一区二区在线看| 欧洲一区在线观看| 91在线精品一区二区三区| 国产1区2区3区精品美女| 精品一二三四区| 美脚の诱脚舐め脚责91| 国产精品久久久久一区二区三区共| 国产午夜精品一区二区三区嫩草| 精品欧美一区二区在线观看 | 日韩精品一区二区三区视频| 欧美亚洲综合网| 色综合久久88色综合天天6| 国产成人激情av| 国产一区999| 国产一区二区三区在线观看免费| 久久99深爱久久99精品| 国产成人日日夜夜| 丁香亚洲综合激情啪啪综合| 高清不卡在线观看| 国产iv一区二区三区| 91在线精品一区二区| av电影在线观看一区| 色综合久久久久综合体桃花网| 99天天综合性| 91福利视频在线| 制服丝袜成人动漫| 欧美日韩在线播放三区四区| 欧美一区在线视频| 久久色在线观看| 国产精品超碰97尤物18| 亚洲激情五月婷婷| 亚洲最大色网站| 东方aⅴ免费观看久久av| 91女神在线视频| 6080午夜不卡| 久久综合av免费| 中文字幕一区二区三区不卡| 久久成人久久鬼色| 成人综合婷婷国产精品久久免费| 99久久婷婷国产综合精品| 欧美性色aⅴ视频一区日韩精品| 欧美一卡二卡三卡| 日韩美一区二区三区| 亚洲成人在线免费| 国产一区二区三区四区五区美女|