AJAX表单提交 - 没有返回数据

时间:2015-07-03 09:48:52

标签: javascript php jquery ajax json

形式:

<form action="" id="register" method="post">
    <input type="text" placeholder="eg. John">
    <input type="text" placeholder="eg. Appleseed">
    <input type="text" placeholder="youremail@domain.com">
</form>

JS:

$('form#register').on('submit',function (e) {
    $.ajax({
        url: 'submit.php',
        cache: false,
        type: 'POST',
        context: this,
        data : $(this).serialize(),
        success: function(json) {
            console.log("json: " + json);
        }
    });
    e.preventDefault();
});

PHP:

$formData = json_encode($_POST);
echo print_r($formData,1);

...在填写表单并点击提交后,它确实提交了表单而没有错误,但返回的数据(JSON)为空:

json: []

我做错了什么?

2 个答案:

答案 0 :(得分:4)

这是因为您未在字段中使用name属性

serialize() 

表单中需要name字段

答案 1 :(得分:2)

1: -

$formData = json_encode($_POST); echo print_r($formData,1);

应该是: -

$formData = json_encode($_POST);
echo $formData;

2.您的表单字段中没有name属性。请提供,否则serialize()将无法正常工作。