我正在使用jquery ajax将表单内容发布到服务器,如下所示:
$.ajax({
type: type,
dataType: "json",
url: url,
data: form.serialize(),
success: onSuccess
});
我必须发送一个数据数组,好像它来自一个复选框。
我不想动态创建隐藏的复选框,并在提交之前将其附加()到表单。我没有看到jquery api中的任何其他方法可以帮助我。 有什么帮助吗?
谢谢, 克里斯。
答案 0 :(得分:0)
我意识到这篇文章很老,可能与我的情况不完全一样 - 但是当我遇到一个非常类似的问题时它出现在搜索中,所以现在就是这样。就我而言,服务器期望有一种特定的数据格式:
$_POST['Category'] = Array([id]=>value)
所以我使用嵌套对象格式化数据,使用jQuery通过Ajax POST提交。在这个例子中,我们从DOM元素中获取一些Category ID,然后在保存数据时将其用作键,以及通过函数派生的值:
var items = {};
var fn = 'Category';
var val = {};
items[fn] = val;
var item;
$("#div.data").each(function(){
item = $(this).val();
items.Category[item] = myval();
});
function myval() {
// get data for the value part
return data;
}
$.ajax({
type: 'POST',
cache: false,
url: window.location.href,
data: items,
success: function(data){/* callback */}
});