0
我是JavaScript新手,我試圖使用XMLHttpRequest進行異步HTTP請求。爲了說明,我有以下代碼:如何爲XMLHttpRequest進行多個調用
function launchRequest(request, callback) {
var xhr = new XMLHttpRequest();
xhr.open("POST", "/api", true);
xhr.onload = function(e) {
callback(xhr.responseText);
}
xhr.send(JSON.stringify(request));
}
function getAlbums(callback) {
launchRequest({
"command" : "getfolders"
}, callback);
}
function getPhotosFromAlbum(albumId, callback) {
launchRequest({
"command" : "getphotos",
"arguments" : {
"foldername" : albumId
}
}, callback);
}
getAlbums(function(result) {
document.write('first callback <br/>');
});
getAlbums(function(result) {
document.write('second callback <br/>');
});
期望的行爲是一次通話雙方的回調函數,但觀察到的行爲是第一個函數被調用一次和頁面攤位。
我讀過,原因可能是xhr的重複使用,但如果我錯了,糾正我,初始化強制變量在函數的作用域。