【发布时间】:2016-03-16 22:24:29
【问题描述】:
我正在使用 $.ajax 提交表单,我想在提交中添加一个不属于表单输入的键值对,这对我的所有表单都很常见。 所以我计划将公共部分移动到ajaxsetup。 我想在 Action 中接收这些作为 ModelData、TokenKey 等两个参数 我的html代码
<form id="frm">
@Html.TextBoxFor(m => m.Name)
<input type="button" value="Test" onclick="AjaxPost(); return false;" />
</form>
我的 Java 脚本
$(function () {
$.ajaxSetup({ data: { 'TokenId': 'TokenId Value'} });
});
function AjaxPost() {
var frm = $("#frm");
$.ajax({
url: '/Home/Index',
type: 'POST',
data: frm.serialize(),
success: function () { }
});
}
这行不通!如果我删除了 AjaxPost 函数 TokenId 正在发布的数据, 否则不是。
【问题讨论】:
-
根据文档,它为未来的 Ajax 请求设置默认值。我想它不会在
frm.serialize()对象中添加新的key.. -
我可以知道您为什么不将键值对存储在隐藏字段中,以便它也可以与其他表单字段一起提交吗?
-
最简单的方法是在表单中添加名为 TokenId 的隐藏字段并设置所需的值
-
其实 TokenKey 与我的模型无关,它是表单 html 属性值,我想将其作为单独的字符串参数接收...
-
@Nishan Senevirathna,因为这是我所有创建和编辑表单所必需的,所以寻找通用方法...
标签: javascript jquery ajax model-view-controller