Trong bài viết này, mình sẽ giải thích bằng một ví dụ, cách gửi (đăng) form từ View đến Controller bằng cách sử dụng jQuery AJAX trong ASP.Net Core MVC.
Đầu tiên tạo dự án .net core MVC
ở controller home mình sẽ viết 1 active để nhận yêu cầu từ view theo phương thức HTTPPOST
input đầu vào là dạng parameter/ hoặc object cũng ok
mình sẽ hướng dẫn dạng tham số trước nhé
code thế này nhé:
[HttpPost]
public JsonResult IndexAjax(string firstName, string lastName)
{
string name = string.Format("Name: {0} {1}", firstName, lastName); ;
return Json(new { Status = "success", Name = name });
}
View:
View bao gồm một form HTML đã được tạo bằng cách sử dụng thuộc tính Razor Tag attributes với các thuộc tính sau.
Ở tag form có các thông số:
asp-action - Tên của Action. Trong trường hợp này, tên là IndexAjax.
asp-controller - Tên của Controller. Trong trường hợp này, tên là Home - trang chủ.
method="post" Phương thức form , tức là GET hoặc POST.
Trong trường hợp này, nó sẽ được đặt thành POST.
Có hai trường TextBox được tạo để nhập các giá trị cho Tên và Họ.
Ngoài ra còn có một button HTML ở cuối Form đã được chỉ định với trình xử lý sự kiện JavaScript OnClick.
Khi nhấp vào nút Gửi, hàm JavaScript AjaxFormSubmit được gọi.
Mình sẽ viết script function như sao:
Khi button Submit sẽ gọi hàm:
lấy data từ các input thêm vào đối tượng FormData.
Và post về action IndeAjax và trả kết quả json về client
và đây là kết quả:
Souce code: