Post 具有 AJAX 的 MVC 模型?

Post an MVC model with AJAX?

我可以 post 使用 AJAX 的 MVC 模型吗,例如:

 $.ajax ({
     //what elements are important?
     data: '@Model.Product',
     success: function(data){
        $("#divProducts").html(data);
     }
 }

我想避免将模型更改为 JSON 或 JavaScript 对象,因为我仍然需要从页面上的字段加载它们。如果我使用标准的@Html.TextboxFor 填充模型字段,然后使用 AJAX.

post 整个模型会更容易

您可以将模型序列化为 JSON,然后 post 序列化的 JSON 对象到服务器。

var productModel= @Html.Raw(Json.Encode(Model.Product))
$.ajax ({
     //send the serialized JSON 
     data: JSON.stringify(productModel),
     success: function(data){
        $("#divProducts").html(data);
     }
 }

简单的答案是不使用 JSON.Encode 方法,而是简单地用值填充加载的模型,然后将 $.serializeArray() 与要加载的字段的 class 一起使用模型与。