我省略了所有不相关的标签:
<form id="loginform">
<input name=login[username] />
</form>
<script
$.ajax ({
url: 'login.php',
data: {
action : 'login',
formData : $('#loginform').serialize()
},
type: 'post',
async: 'true',
dataType: 'json',
...
});
</script>
我试过
在PHP中我执行print_r($ _ POST)我希望收到以下数据:
Array {
action = login
formData = Array {
login = Array {
username = xxxxxxx
}
}
}
我需要它在我的(第一个)jquery移动项目中实现它,因为我习惯在我的所有其他项目中使用它。如果发布的数据已经结构化,它可以节省我在PHP开发上的大量时间。
我试过了:
formData : $('#loginform').serialize()
和
formData : $('#loginform').serializeArray()
我当然可以使用:
formData = new FormData();
formData.append(...);
但是我喜欢更通用的,总是可用的,没有(很多)编辑解决方案,类似于序列化版本。
答案 0 :(得分:0)
我不是PHP编码器,但看起来你的PHP代码需要一个Array
,而是发送一个字符串值。您必须在PHP中执行Split(';')
和Split('=')
函数以将序列化数据解析为数组。或者不要指望PHP中的数组并单独请求每个字段,然后您可以这样做:
...
data: $('#loginform').serialize(),
然后在表单中添加:
<input type="hidden" name="action" value="login"/>