Jquery Ajax将空输入值发布到php

时间:2015-03-31 09:09:17

标签: php jquery ajax

我遇到了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变为空 我的代码有什么问题吗?

请给我一些建议,因为我还是新手。

3 个答案:

答案 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