我遇到了Jquery Ajax发布的问题 以前我用的是
<form method="post" action="manageUserItem.php">....</form>
发布我的输入值并插入数据库 但是当我尝试使用以下代码更改为jquery ajax函数时:
$.validator.setDefaults({
submitHandler: function() {
var formData = new FormData($(this)[0]);
$.ajax({
url:'manageUserItem.php',
type: 'POST',
data: formData,
async: false,
beforeSend: function(){
if(confirm('Are you sure?'))
return true;
else
return false;
},
cache: false,
contentType: false,
processData: false
}).done(function () {
//do something if you want when the post is successfully
if(!alert('New User Created.')){document.getelementbyclassname('form').reset()}
}).fail(function () {
//if the post is failed show an error message if you want
alert('Some error occur. Please try again later.');
});
return false;
}
});
然后,当插入数据库时,我的输入字段name,userid和password变为空 我的代码有什么问题吗?
请给我一些建议,因为我还是新手。
答案 0 :(得分:2)
你可以试试这个:
var formData = new FormData(document.forms[0]);
答案 1 :(得分:1)
你有问题:
var formData = new FormData($(this)[0]);
在此上下文中“this” - 是submitHandler
尝试使用
等形式的类或ID var formData = new FormData($(".myFormClass")[0]);
答案 2 :(得分:0)
尝试serialize数据:
var formdata = $( "form" ).serialize();
console.log(formdata);
到console.log()
输出看起来像:
name=john_doe&user_id=1&password=my_passowrd