2012-09-26 49 views
3

這可能是一個非常明顯的問題,但請解釋xhrxhr.upload之間有什麼區別?xmlhttprequest(xhr)xhr.onerror和xhr.upload.onerror之間的對象差異

我的用例是,我正在上傳文件到服務器,但假設服務器停機。在這種情況下,我應該處理xhr.onerrorxhr.upload.onerror

基本上,在這個問題,當使用XHR以及何時使用xhr.upload其中xhr = new XMLHttpRequest();

在同另外一個新手的問​​題,是關係到如何讓VS提到POST/PUT是否被處理?

回答

5

xhr.onerror在網絡級別發生故障時觸發。如果錯誤僅存在於應用程序級別上,例如發送了HTTP錯誤代碼,則onload仍會觸發。 您需要在onreadystatuschange處理程序中顯式測試返回的狀態碼。

其中當xhr.upload.onerror正在嘗試上傳時觸發事件,這基本上是應用程序級功能,就像xhr.upload.Onprogress一樣。

此上傳總是依賴於ajax post方法。

+1

謝謝,這澄清了很多。但是,我仍然無法理解xhr和xhr.upload之間的區別,即xhr.addEventListener(「error」,errorhandler)和xhr.upload.addEventListener(「error」,errorhandler)(與progress事件相同)。你可以提供一個例子,當xhr.onerror會觸發,當xhr.upload.onerror會觸發(例如,如果服務器回覆500 /內部錯誤)。如果我可以使用.onreadystatechange事件,那麼xhr.upload的用法是什麼? – gashu

相關問題