var myXML;
$.ajax({
type:'GET',
url:'http://localhost:8080/someCGIhere/',
datatype:'xml',
success: function(xml){
console.log('Success!');
myXML = $(xml).find('SomeThing').text();
//1) Prints out the myXML value
console.log("myXML = " +myXML);
}
});
//2) Prints out undefined
console.log('Result = '+myXML);
爲什麼響應沒有存儲在成功範圍之外,考慮到它將值賦給一個在範圍外聲明的變量?
'$ .ajax'生成一個異步請求,所以'// 2'在'// 1'之前執行。您應該能夠在控制檯中的'Success!'前看到Result = undefined'。 – Hacketo
我確實看到它在控制檯中,現在我明白了!在我心中,javascript必須等待調用完成,然後才能在代碼中順序執行,謝謝! @Hacketo –
對不起哈克託,我在回答之前沒有看到您的評論 – Ello