AJAX不向PHP文件发送任何内容

AJAX不向PHP文件发送任何内容,php,jquery,ajax,Php,Jquery,Ajax,我正在序列化表单数据,将其记录下来,然后将其发送到PHP文件,其中返回null jQuery: $('#preregister').submit(function () { if(checkemail("prereg_email")) { var data; data = $(this).serialize(); console.log(data); $('#imageloader').fadeIn();

我正在序列化表单数据,将其记录下来,然后将其发送到PHP文件,其中返回null

jQuery:

$('#preregister').submit(function () {


    if(checkemail("prereg_email")) {

        var data;

        data = $(this).serialize();
        console.log(data);

        $('#imageloader').fadeIn();
        $.ajax({
            url: '/docs/adduser.php',
            data: data,
            processData: false,
            contentType: false,
            type: 'POST',
            success: function ( data ) {
                //console.log(data); //returns a string of the data.
                var data = JSON.parse(data); //parses the string into an object.
                console.log(data); //logs the object.
                if (data.error) { alert(data.message); }
            }

        });

    }

      return false;
    });
PHP:


当数据返回时,会显示:

对象{in:Array[0],错误:true,消息:“输入电子邮件”,在电子邮件中:}

这很奇怪,因为就在我发送数据之前,我记录了它,它显示:

prereg\u email=rbross3%40gmail.com


所以。。。我至少应该得到
$Return[“prereg\u email”]
对吧?

我认为这是因为您使用的是
processData:false,
请不要使用它。
.serialize()已返回一个字符串,因此您不需要processData:false,

是否放置了
会话_start()在你的
adduser.php
文件的顶部?如果你这样做了,你的
FILTER\u VALIDATE\u EMAIL
可能没有验证它,因为你有一个
%40
来代替
@
你能把你从这个控制台得到的信息发送给我们吗。log(数据)@DanielX2010,`$in_email=urldecode($_POST[“prereg_email”]);是的,session_start在包含的global.php中。@mbouzahir它已经在(对象)上面了
<?php

    $Return = array();
    $Return["in"] = $_POST;
    $Return["error"] = false;
    $Return["message"] = "Nothing has happened.";

    /* EMAIL */
    $in_email = urldecode($_POST["prereg_email"]);
    $Return["in_email"] = $in_email;

    if (!filter_var($in_email, FILTER_VALIDATE_EMAIL)) {

        $Return["error"] = true;
        $Return["message"] = "Enter a valid email.";

    }

    if (!$in_email) {

        $Return["error"] = true;
        $Return["message"] = "Enter an email.";

    }


    str_replace('\\/', '/', json_encode($Return));
    echo json_encode($Return);

?>