我有这个函数将表单中的输入写入数据库,并且我试图简化ajax调用传递给php的数据。目前我有这个功能:
function writeDB(stage){
var userData = $("#cacheDB").find("input").get();
var ajaxData = []
for (var n=0;n < userData.length; n++){
item = {};
item[userData[n].id] = userData[n].value;
ajaxData.push(item);
}
$.ajax({
url: "x.php",
data: {ajaxData},
});
}
发送此对象:
http://url.php?ajaxData[0][pageid]=1&ajaxData[1][input1]=John&ajaxData[2][input2]=Doe
我只想发送原始数据密钥,例如:
http://url.php?[pageid]=1&[input1]=John&[input2]=Doe
或者
http://url.php?pageid=1&input1=John&input2=Doe
它可以吗?我尝试了几种方法,但还没找到合适的方法。
答案 0 :(得分:1)
我会尝试序列化表单而不是for循环。它基本上将表单中的所有输入字段作为JSON对象发送到服务器。
$.post('server.php', $('#theForm').serialize())
对于较大的表单,应该预先设置HTTP POST方法,可以发送复杂的对象。
点击此处获取更多帮助:jQuery AJAX submit form
希望你需要它。