2012-06-01 15 views
0

我有以下代碼,我正在撥打電話getlink.php腳本來獲得給定文件的鏈接。但是當我做alert(xhr.responseText)它沒有顯示任何東西。但如果我輸出在控制檯上作爲console.log("my object: %o", xhr);它給responseText字段。 代碼:xmlhttprequest對象正在工作,但未提供輸出響應?

function linkFile(file) { 
    uri = "http://localhost/imgbag/getlink.php"; 
    var xhr = new XMLHttpRequest(); 
    var formdata= new FormData(); 
    formdata.append("linkFile",file); 
    xhr.open("POST", uri, true); 
    xhr.send(formdata); 
    console.log("my object: %o", xhr); 
} 

回答

1

當您使用xhr.open它設置它是異步,這意味着響應會回來以後真,則需要通過附加一個監聽器收集。

如果你設置參數去假你的代碼就可以了(但不會是異步,並會阻止在電話會議上(這意味着它將只是坐在那裏,直到響應回來)

這裏是如何添加一個監聽器(因爲你的異步方法實際上是最好的一個)...... http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp

0

定義onload屬性是這樣的:

xhr.onload = function() { 
    alert(xhr.responseText); 
} 

這確保了alert僅在請求成功完成後才發生。

信息來源:MDN

相關問題