识别'echo'd将数据从PHP脚本返回到Ajax响应函数

时间:2015-08-13 23:54:30

标签: php ajax

我需要一种方法来识别从PHP处理脚本返回到Ajax返回响应函数的返回值,以便在响应为正和负时我可以执行不同的操作。

我知道indexOf(似乎已被弃用)以及inArray。问题是我返回的数据不是数组,它们很简单'回声'。

我还想避免将echo语句编码为JSON。这样做似乎无关紧要。

如何识别返回的数据?

if(!mysqli_num_rows($result)){
    // Insert data into database...
        if($result){
            echo "Thanks for Registering!";
            $_SESSION['username'] = $userName;
        } else {
            echo "Something went wrong with your registration. Please try back later.";
        }
    } else {
        echo 'It seems that your email has already been registered.';
        // return false;
    }

我考虑添加'return false'来“模仿”失败的Ajax响应,但这不起作用。

$.ajax({
        url:'includes/register.php',
        type:'POST',
        data: formData,
        success: function(data){
             $("#register-form #message p").html(data);
         }
    }); // $.ajax
    // if registration was successful, show the message and redirect
    $('#register-form img').addClass('hide');
    $("#register-form div + div").addClass('hide');
    $("#register-form #message").removeClass('hide');
    setTimeout(function(){
        $('#overlay, form#register-form').fadeOut('slow');
        $(".register").off();
        window.location.href = 'sandbox/workshop.php';
    },2000);

    // if registration was not successful, do something else...

提前感谢您的回复。

1 个答案:

答案 0 :(得分:1)

您可以返回包含$successtruefalse响应数组,只需通过JS打印错误消息即可。我认为除了使用JSON之外还有其他任何方法。