我問這個問題的原因是因爲我沒有看到太多的例子。基本上,我有一個controller
其中有一個method that returns void
。該方法由post
調用,該操作通過jQuery
完成。如果帖子成功,我只是用一些html更新頁面的一小部分。我不需要任何方法,所以我返回無效是好的和可以接受的。如果不是,那麼在進行ajax調用時,通常會從控制器方法返回什麼?控制器操作可以通過jQuery post返回void嗎?
這是我的控制器方法:
[HttpPost]
public void AddToCart(ShoppingCartItem shoppingCartItem)
{
_shoppingCartService.AddItem(shoppingCartUserId, shoppingCartItem);
}
這是我的javascript:
$(function() {
$("#addToCart").submit(function (e) {
e.preventDefault();
var shoppingCartItem = JSON.stringify(
{
'Name': $('#Name').val(),
'ProductId': $('#ProductId').val(),
'ShortDescription': $('#ShortDescription').val(),
'Sku': $('#Sku').val()
});
AddToCart(shoppingCartItem);
});
function AddToCart(shoppingCartItem) {
$.ajax({
url: '/ShoppingCart/AddToCart',
async: false,
type: "POST",
data: shoppingCartItem,
dataType: "html",
contentType: "application/json",
error: function (data) {
console.log(data);
},
success: function() {
var count = parseInt($('div.item-counter').html()) + 1;
$('div.item-counter').html(count);
}
});
}
}());
我注意到,如果我的操作方法失敗,錯誤函數將被調用,如果它成功,函數將被調用。
好像即使是無效的,如果有錯誤,我的Ajax錯誤函數被調用,如果沒有,成功的功能。 – xaisoft
我會處理錯誤服務器端並返回成功= false。 – BenG