當我在IE中運行下面的代碼時,它運行正常。XMLHttpRequest的responsetext在Mozilla中爲null(空白)
但是在mozilla ff中,layerId的值爲空,因爲reqGetSubMenuRef22.responseText
在第1行爲null。
function ajaxFunctionCallGetSubMenuRef22(url)
{
if (window.XMLHttpRequest) { // Non-IE browsers and IE>=7
reqGetSubMenuRef22 = new XMLHttpRequest();
reqGetSubMenuRef22.onreadystatechange = processStateChangeGetSubMenuRef22;
try {
reqGetSubMenuRef22.open("GET", url, true);
((reqGetSubMenuRef22.setRequestHeader && method == "GET") ? reqGetSubMenuRef22.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") : reqGetSubMenuRef22);
} catch (e) {
alert(e);
}
reqGetSubMenuRef22.send(null);
}
else if (window.ActiveXObject) { // IE
reqGetSubMenuRef22 = new ActiveXObject("Microsoft.XMLHTTP");
if (reqGetSubMenuRef22) {
reqGetSubMenuRef22.onreadystatechange = processStateChangeGetSubMenuRef22;
reqGetSubMenuRef22.open("GET", url, true);
reqGetSubMenuRef22.send();
}
}
}
function processStateChangeGetSubMenuRef22()
{
if (reqGetSubMenuRef22.readyState == 4) { // Complete
if (reqGetSubMenuRef22.status == 200) { // OK response
var textToSplit = reqGetSubMenuRef22.responseText; //line1
if(textToSplit != null && textToSplit != '') {
subMenuRef = textToSplit;
}
else {
subMenuRef='';
}
layerId=subMenuRef;
謝謝你的答覆。 我用這個替換了reqGetSubMenuRef22。但它仍然不起作用。以下是修改後的代碼。 (這個。readyState的== 4){//完成 \t如果(this.status == 200){// OK響應 \t \t \t \t變種textToSplit = reqGetSubMenuRef22.responseText; – 2012-07-18 10:13:59
您必須替換所有出現的'reqGetSubMenuRef22'變量名稱。同樣使用'this.responseText','this'是對'reqGetSubMenuRef22'對象的引用,不能用它的名字來引用,因爲(我希望)它是一個函數變量,並且你不再處於該函數中。另外,如果你只是檢查'this.readyState === 4 && this.status === 200',那麼不要嵌套你的'if'語句,如果同樣好, ,海事組織,更清潔。我將使用模板'onreadystatechange'函數更新我的答案 – 2012-07-18 10:32:16
@RakeshK:嘗試忽略'((reqGetSubMenuRef22.setRequestHeader && method ==「GET」)?reqGetSubMenuRef22.setRequestHeader(「Content-Type」,「application/x- www-form-urlencoded「):reqGetSubMenuRef22);'這一行也是。請不要使用全局變量,因爲您似乎在做這些事情。這是不好的做法,想象在第一個請求仍在處理的時候發送請求,當使用全局變量(對這兩個請求使用相同的變量)時,它會導致錯誤。如果某些東西只能在IE中運行,那麼你應該把它當作一個不好的標誌。特別是因爲它不再是最大的瀏覽器,chrome也是 – 2012-07-18 14:05:53