我正在尝试通过ajax提交表单,我可以在使用ajax时看到两个选项。
方法1
@{
ViewBag.Title = "Index";
var options = new AjaxOptions()
{
Url = Url.Action("Index", "Add"),
LoadingElementId = "saving",
LoadingElementDuration = 2000,
Confirm = "Are you sure you want to submit?"
};
}
@using (Ajax.BeginForm(options))
{
<div id="saving">Loading...</div>
<input type="submit" />
}
方法2
@using (Html.BeginForm(options))
{
<input type="submit" />
}
$.ajax({
type: 'POST',
url: 'Add',
dataType: 'json',
data: { $(form).serialize() },
success: function (data) {
if (data != null) {
console.log(data);
}
}
});
有什么想法吗?
答案 0 :(得分:1)
Ajax.Form使一切变得简单,或者用简单的单词使大部分内容自动化。像ModelBinder一样,我们的模型输入控制之间的绑定很容易。
$ .ajax使您可以完全控制代码。一切都是手动的
它完全取决于情况选择什么。如果我想直接将值传递给控制器动作,我更喜欢Ajax.BeginForm。当我想传递一些复杂的东西(比如解析整个html表并创建一些东西并最终传递它)时,我会更喜欢$ .jQuery
示例 -
我有一个表格,其中包含一些控件,如客户名称,地址,电话号码我更喜欢mvc ajax
我有一个表(网格),其中包含许多客户记录,我想传递Json数组,我更喜欢jQuery
希望有所帮助