因此,這是處理xmlhttprequest的簡單JavaScript代碼的一部分。即產生錯誤的部分是在底部(否則如果):未定義的與「已定義」參數不存在函數錯誤
httpReq.onreadystatechange = function(){
if (httpReq.readyState == 4) {
if (httpReq.status == 200) {
var strRes = httpReq.responseText;
if(xmlOrig) strRes = (new $Xml(strRes, true)).conteudo(xmlOrig);
if(elemDest) $id(elemDest).innerHTML = strRes;
if(func) {
var dadosArray = new Array(4, strRes, httpReq, 'OK', 'Concluído com sucesso.');
window[func](dadosArray);
}
} else {
if(elemDest) elemDest.innerHTML = 'Erro: '+httpReq.status+' | '+httpReq.statusText;
if(func) {
var dadosArray = new Array(4, false, httpReq, 'erro', 'Erro, conteúdo não carregado!');
window[func](dadosArray);
}
}
} else if(func){
console.log("func? "+typeof(func));
var dadosArray = new Array(httpReq.readyState);
window[func](dadosArray); // <-- HERE IS THE ERROR!
}
}
然而,執行console.log返回「功能」的說法作爲函數,所以哪裏是錯誤?
Safari控制檯:
func?功能 TypeError:'undefined'不是函數(評估'windowfunc')
你在哪裏定義變量'func'是什麼?你沒有通過它或在任何地方定義它? – Gerrat
我在根中定義了一個測試函數。首先,我認爲這是函數內部的一個錯誤,但是測試函數無關(作爲一個測試)。我認爲它可能是一個錯誤,Safari無法精確到哪裏。 – Gustavo
我發現它:func必須是一個字符串,所以我不能定義func = Function,但是func =「NameOfTheFunction」。 – Gustavo