向jQueryAjax帖子(除了序列化表单之外)添加额外数据的最佳方法是什么?
我有以下代码:向jQueryAjax帖子(除了序列化表单之外)添加额外数据的最佳方法是什么?,jquery,ajax,forms,post,Jquery,Ajax,Forms,Post,我有以下代码: $.post('/Calendar/Add', $("#calendarForm").serialize(), function (data) { }); 除了#calendarForm中的所有项目之外,我还想添加另一条数据 假设我想在querystring中附加一个键值对: personId=223 我不想在calendarForm中添加额外的隐藏输入,因为这就是我现在正在做的事情,而且有点混乱。当我调用此帖子时,除了calendarForm中的所有值之外,还有什
$.post('/Calendar/Add', $("#calendarForm").serialize(), function (data) {
});
除了#calendarForm中的所有项目之外,我还想添加另一条数据
假设我想在querystring中附加一个键值对:
personId=223
我不想在calendarForm中添加额外的隐藏输入,因为这就是我现在正在做的事情,而且有点混乱。当我调用此帖子时,除了calendarForm中的所有值之外,还有什么简单的方法可以添加额外的数据吗
我试过这样的方法:
$.post('/Calendar/Add', $("#calendarForm").serialize() + "&personId=223", function (data) {
});
但这似乎不起作用?尝试使用
serializeArray
var data = $('#myFormName').serializeArray();
data.push({name: 'myParamName', value: 'MyParamValue'});
更新1:
您可以在$中使用以下代码。post
:
$.post('/Calendar/Add', data, function (data)
{});
有关更多信息,请参阅。您可以像下面这样做
$.post('/Calendar/Add', { personId: 223,calendarForm: $("#calendarForm").serialize() },
function (data) { });
只需传入“data”而不是“$(“#calendarForm”)。serialize()+“&personId=223”“?@leora是的,这是推荐的想法。因为
.serialize()
将返回字符串。继续。我不需要先将数据数组转换成字符串吗?请检查此项