if语句在Ajax回调中

时间:2015-07-05 12:32:27

标签: javascript php jquery ajax login

嗨我在使用ajax在php中遇到条件时刷新我的页面有问题,如果php脚本成功我希望它重新加载页面但是当它不是时,我只想回显错误。

以下是我的PHP代码中返回“成功”或错误消息的部分:

if ($login) {
    echo "success";
} else {
    echo '<p>Username and Password does not match</p>';
};

这是有效的,因为我已单独测试它,即使ajax

,用户也会登录

我认为问题在于使用if语句调用ajax。 这是运行ajax回调的my js脚本。

$('form.ajax').on('submit', function(){

    var that = $(this),
        url = that.attr('action'),
        type = that.attr('method'),
        data = {};

    that.find('[name]').each(function(index, value){
        var that = $(this),
            name = that.attr('name'),
            value = that.val();

        data[name] = value;
    });

    $.ajax({
        url: url,
        type: type,
        data: data,
        success: function(response){
            if(response == "success") {
                                //location.reload();
                window.location = "index.php";
            } else {
                $('#loginError').html(response);
            };
        }
    });

    return false;
});

我已尝试过网络上的所有内容,但每次PHP脚本成功时,只需回显成功一词,然后重定向页面或重新加载

1 个答案:

答案 0 :(得分:0)

感谢chris85提供的完美建议像黄金一样能够解决问题,那就是我错过了PHP脚本顶部的额外行,并在使用console.log(response)时看到了它,还阅读了你链接的帖子,它将有助于我这样的未来问题,所以再次感谢。