Giải đáp thắc mắc về việc truyền dữ liệu từ view sang controller bằng ajax

Chào mọi người, em mới bắt đầu làm việc với .net core 3.1, hiện tại e đang cần truyền data (là id và filename) từ view sang controller bằng ajax, em có tìm trên mạng thì có 3 cách sau, em đã thử 3 cách và nó đều hoạt động. Nhưng em có điều thắc mắc muốn hỏi là liệu 3 cách này có gì khác nhau và cách nào là hợp lý nhất. Ai đã từng làm qua .net core cho em lời hướng dẫn với ạ, em xin cảm ơn mọi người.

file HomeController.cs

[HttpPost]
public void Test(string id, string filename){
    Console.WriteLine($"id - filename: {id} - {filename}");
}

gửi data tại view
Cách 1:

$.ajax({
   type: "POST",
   url: '/Home/Test?id=111&filename=abc',
   success: function (result) {
   }
});

Cách 2

$.ajax({
  type: "POST",
  url: '/Home/Test',
  data: {"id":"111","filename":"abc"},
  success: function (result) {
  }
});

Cách 3

var formData = new FormData();
formData.append("id","123");
formData.append("filename","abc");
$.ajax({
  type: "POST",
  url: '/Home/Test',
  data: formData,
  processData: false,
  contentType: false,
  success: function (result) {
  }
});

những đoạn code trên sử dụng cho nhiều mục đích khác nhau thì sao mà so sánh được
thay vì đi hỏi thì bạn nên lên trang chủ jquery để đọc hiểu các option param thì tốt hơn

8 Likes

vâng, em xin cảm ơn lời khuyên của anh, vì e mới làm việc với nó lần đầu nên còn hơi rối quá, anh thông cảm

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?