爲什麼我總是有這麼多麻煩......?因爲我沒有在我的other article解決這個問題,我決定的JavaScript只是代碼的正確性入值...所以我有:Ajax.BeginForm的回調不起作用
OnSuccess="alert('ok')",
OnFailure="alert('failed')",
所以我的問題是,提交工作正常;一條記錄被插入數據庫,我得到一個回調......但我得到了錯誤的回調!即使插入記錄,我也會失敗。 heeeeelp!
爲什麼我總是有這麼多麻煩......?因爲我沒有在我的other article解決這個問題,我決定的JavaScript只是代碼的正確性入值...所以我有:Ajax.BeginForm的回調不起作用
OnSuccess="alert('ok')",
OnFailure="alert('failed')",
所以我的問題是,提交工作正常;一條記錄被插入數據庫,我得到一個回調......但我得到了錯誤的回調!即使插入記錄,我也會失敗。 heeeeelp!
好吧,我想通了幾件事情:
您應該能夠從響應讀取數據弄清楚爲什麼它被認爲是一個失敗:
OnFailure="handleError",
...
function handleError(ajaxContext) {
var response = ajaxContext.get_response();
var statusCode = response.get_statusCode();
alert("Sorry, the request failed with status code " + statusCode);
}
或者,使用Fiddler並查看響應。確保狀態碼,內容類型和內容完全符合預期。
1.我不明白爲什麼OnFailure是一個函數調用,而不是一個函數名稱......我認爲它應該是OnFailure =「handleError」? 2. ajaxContent doesn似乎沒有包含get_response()方法......它包含一個responseText,它是我的控制器方法返回的對象的字符串表示形式(我不能解引用),它還包含失敗,完成,完成,成功和錯誤,所有這些都是返回對象本身的方法... 我正在使用來自Microsoft CDN的jquery.unobtrusive-ajax.min.js庫的最新版本,因此可能是什麼問題? – ekkis 2011-05-06 07:10:28
我的壞,我複製/粘貼。修正它 - 應該是一個函數名(我相信)。用Fiddler檢查內容/內容類型/狀態代碼以確保它看起來都是相似的克拉。 – 2011-05-06 12:12:49