如何获得AJAX的PHP变量?

fra*_*kie 2 php ajax jquery server-side-scripting

我不认为我在我的单独的PHP和AJAX文件之间以正确的方式传递变量.

我正在通过触发$status = 'info';PHP文件中的第二个条件来调试它.

目前,status即将出现"未定义"alert(data.status);

signup_process.php

if (condition){

   $status = 'success';

else {

    $status = 'info';

    }
Run Code Online (Sandbox Code Playgroud)

AJAX

function send() {
var data = $('#signup_form').serialize();
    $.ajax({
        type: "POST",
        url: "signup_process.php",
        data: data,
        success: function (data) {
        alert(data.status);
            if (data.status == 'success') {
                // everything went alright, submit
                $('#signup_form').submit();
            } else if (data.status == 'info')
            {
                console.log(data.status);
                $("label#email_error").show(); 
                return false; 
            }
        }
    });
    return false;
};
Run Code Online (Sandbox Code Playgroud)

我知道第二个条件是被触发的,因为我把一个标题重定向只是为了测试而且它运行正常.

GBD*_*GBD 7

高兴使用json同时将数据从php返回到ajax.

$return_data = array();
if (condition){
   $return_data['status'] = 'success';
} else {
    $return_data['status'] = 'info';
}

echo json_encode($return_data);
exit();
Run Code Online (Sandbox Code Playgroud)

现在,如果你将json数据返回给ajax,那么你需要将返回数据类型指定为ajax调用,如下所示

function send() {
var data = $('#signup_form').serialize();
    $.ajax({
        type: "POST",
        url: "signup_process.php",
        data: data,
        dataType: 'json', 
        success: function (data) {
        alert(data.status);
            if (data.status == 'success') {
                // everything went alright, submit
                $('#signup_form').submit();
            } else if (data.status == 'info')
            {
                console.log(data.status);
                $("label#email_error").show(); 
                return false; 
            }
        }
    });
    return false;
};
Run Code Online (Sandbox Code Playgroud)