MVC和JQuery:检索表单数据的最佳实践
问题描述:
我有一些使用Ajax将信息发送回控制器进行处理的JQuery
I have some JQuery that uses Ajax to send information back to my controller to be processed
我正在这样做:
//Define my controls
<%=Html.TextBox("PName", Model.PName, new { id = "pName" })%> ...
....
....
//Get the values from my controls
var param1= $("#pName").val();
....
....
//Define the return URL. Is this how to send info back?
var url = '<%= Url.Content("~/Port/SaveRowAjax") %>/?ID=' + id
+ "¶m1=" + param1
+ "¶m2=" + param2
+ "¶m3=" + param3
+ "¶m4=" + param4
+ "¶m5=" + param5;
$.ajax({
url: url,
success: function(html) {
alert("Success!");
},
});
//My c# code, that processes the request
public void SaveRowAjax(string param1 ....)
{
...
}
这是使用MVC做到这一点的最好方法吗?
当我构造要发布回服务器的URL时,似乎有些混乱
Is this the best way of doing it with MVC?
It seems a bit messy when i am contructing the URL to post back to the server
答
尝试使用 SerializeArray 用于提交表单项.它将所有值包装到JSON对象中.
Try using SerializeArray for submitting your form items. It'll box all their values into a JSON object.
var link = "/Port/SaveRowAjax";
var formData = $(":input").serializeArray();
$.post(link,formData);