2009-02-19 47 views
2

我有一個jQuery的.ajax發佈到具有'授權'屬性的asp.net mvc方法。即使用戶未被授權發佈到操作,Ajax回調也會成功。首先,基於成功的ajax成功回調是什麼?其次,爲了測試實際的方法是否執行,我從動作中返回了一個「成功」字符串,並從那裏使用JavaScript。這是第二種方式嗎?Ajax'成功'與成功方法調用之間的區別?

回答

3

AJAX是使用Javascript的HTTP請求。當您獲取網頁時,您的瀏覽器會發出相同的HTTP請求。

AJAX的成功僅僅是說它設法成功地獲取URL,即。沒有網絡錯誤,服務器沒有返回404或類似錯誤等。

您調用的方法是否返回成功結果是另一回事。 AJAX所能做的就是告訴你它成功得到了a結果,但是你必須找出這個結果是否表明你的應用程序成功或失敗。

3

這裏的區別是javascript AJAX機制的成功(即繼續執行readyState == 4)與httprequest本身的成功(即狀態== 200)之間的區別。

對於JavaScript,由您的應用程序產生的500範圍錯誤將非常適合作爲請求使用(請參閱在HTML中格式化堆棧跟蹤的方式)。請記住檢查XHR對象上的readyState和狀態。