0

我有一个简单的脚本,即使 PHP 脚本运行成功,也会导致错误。

PHP

require('/connect.php');  //Has my $link variable


if(isset($_POST['pass'])){

    $user = $_POST['user'];
    $oldpass = md5(urldecode($_POST['op']));
    $newpass = md5(urldecode($_POST['np']));

    $q = "SELECT * FROM `nht_users` WHERE usr = '".$user."' AND pass = '".$oldpass."'";
    $r = mysqli_query($link,$q);
    $n = mysqli_num_rows($r);

    if( $n > 0){

        $u = "UPDATE `nht_users` SET pass = '".$newpass."' WHERE usr = '".$user."'";
        mysqli_query($link,$u);

    }

    else{

        echo json_encode('FALSE');

    }

}

jQuery

$('#pass-submit').click(function() {

        var npp = $('#npp').val(),
            np = $('#np').val(),
            data = $('#pass-form').serialize(),
            url = 'http://www.<?php echo DOMAIN; ?>/functions.php';

        if (npp == np) {
            $('#test').html(url);
            $.ajax({
                type: 'POST',
                url: url,
                data: 'pass=true&'+data,
                success: function(data){

                    $('#pass-form').slideUp(800);
                    $('.pass-true').fadeIn(800);

                },
                error: function(){

                    $('.pass-false').fadeIn(800);

                }
            });
        }
        else {
            $('.pass-check').fadeIn(800);
        }

    });
4

2 回答 2

0

捕捉错误

error: function(xhr, textStatus, errorThrown) {
    alert(xhr.responseText);
}
于 2013-07-18T16:59:15.843 回答
0

为了更好地了解您的响应中发生了什么,您可以尝试使用 Chrome 中的网络选项卡(按 F12)并运行您的流程。您应该看到您的 ajax 请求和响应通过。Internet Explorer 也有类似的选项,但您需要告诉它明确监视网络。跟踪此类问题的另一个选择是安装桌面应用程序,如 Fiddler2 ( http://fiddler2.com/ )。

我已经将所有这 3 个用于不同级别来查找为什么我的 AJAX 请求没有按预期运行。

于 2013-07-18T17:52:03.173 回答