2017-07-07 38 views
0

我有這樣的(第三方代碼)一PrototypeJS AJAX請求:如何模擬/測試AJAX異常處理程序?

new Ajax.Request(url, 
{ 
    method: 'get', 
    onException: function(transport, e) 
    { 
     //... 
    }, 
    onComplete: function(transport) 
    { 
     //... 
    } 
}); 

,並要測試的onException行爲。我可以控制服務器端,所以我可以改變響應。但簡單地返回500狀態並不能解決問題,它仍然由onComplete來處理。

那麼我有什麼可能觸發onException處理程序?

回答

1

onException而調度其它回調,看到here,在Ajax響應回調當有異常僅觸發。所以我不確定有什麼方法來測試它。

編輯:

read (in french, didn't find anything in english),如果你犯了一個跨域請求,它激發通風口。

+0

我能夠讓'onComplete'拋出異常,謝謝你的提示! –

+0

定義'onFailure'回調可能是一種方法,因此您不必在'onComplete'中測試成功。無論對服務器的請求結果如何,都會觸發'onComplete'回調。如果你有一個分支,如果沒有錯誤,你只需要關注它,把它放在'onSuccess'而不是'onComplete'中。 – Walter