在我的頁面上,我使用jquery對服務器進行了幾次調用。我想顯示一個結果div,其中顯示關於成功/失敗的信息,例如,綠色div與成功信息和紅色div與失敗信息。這個div應該被看到1-2秒並自動消失。我創建了一個視圖模型用於此目的:從ajax調用返回後顯示並隱藏div
public class ResultMessageViewModel
{
public ResultMessageKind KindOfMessage {get;set;}
public string Content {get;set;}
}
在我的控制器行動我返回PartialView如下:
return PartialView("ResultMessagePartial", new ResultMessageViewModel() { KindOfMessage= ResultMessageKind.Success", Content="Operation finished successfully"});
我的Ajax調用類似的東西:
$(function() {
$(document).on("click", "#AnswerTheQuestion", function (e) {
e.preventDefault();
var answerContent = $("#AnswerContent").val();
var messageId = $(this).parent().children("#rootMessageId:first").val();
$.ajax({
url: this.href,
type: 'GET',
data: { rootMessageId: messageId, content: answerContent },
cache: false,
success: function (result) {
//show success result div
},
error: function() {
//show failure result div
}
});
});
我的問題是:我怎樣才能實現一個功能,其中我的結果div會自動顯示特定的時間量(如1-2秒)在成功/錯誤處理程序?這將是某種用戶的通知,無論過程是否成功完成。我想盡可能保留DRY原則來實現這種功能。