我有一個簡單的問題。 要通過jQuery調用一個動作(要使用AJAX),我是否必須創建一個新的Action返回json類型,或者是否有爲http請求(post)和jQuery使用相同的動作呢?ASP.NET MVC - 通過jQuery調用動作
感謝
我有一個簡單的問題。 要通過jQuery調用一個動作(要使用AJAX),我是否必須創建一個新的Action返回json類型,或者是否有爲http請求(post)和jQuery使用相同的動作呢?ASP.NET MVC - 通過jQuery調用動作
感謝
這取決於你想要處理返回的數據。
說,你的行爲將返回的Html,使用jQuery,你可以把HTML從服務器返回:
$.ajax('/url/', function(data){
$('#elementID').html(data);
})
或者,你可以使用jQuery的.load()方法:
$('#elementID').load('/url');
如果你的動作返回重定向,並且你希望客戶端頁面重定向到一個url,那麼是的,你需要創建一個新的動作來返回Json:
public JsonResult SomeAction()
{
return Json(new {redirect = true, url = "/Path/ToRedirect"});
}
而且使用jQuery:
$.ajax('/url/', function(data){
if(data.redirect) {
window.location = data.url;
};
})
您可以使用相同的動作:
$.post(
'/controller/action',
{ field_a: "Value a", field_b: "Value b" },
function(data) {
$('#result').html(data);
}
);
隨着AJAX,通常要部分景色或JSON作爲返回值。用定期發帖,完整html頁面。爲什麼你想在ajax和普通帖子中使用相同的動作?
感謝。我現在使用Request.IsIsAjaxRequest())來查看我是否返回一個View或其他值。 – 2011-02-13 03:35:39