Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何利用';if-else';在ajax中调用和响应?_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 如何利用';if-else';在ajax中调用和响应?

Javascript 如何利用';if-else';在ajax中调用和响应?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一个用AJAX编写的代码,用于检查密码是否存在。如果是,则发送“确定”作为输出,否则发送“不正确”作为输出。我想在AJAX调用的响应中成功地处理基于此的do任务。你怎么处理呢?如果密码正确,我希望删除表单元素中disabled的属性,否则我希望表单元素的属性保持为disabled。 AJAX代码如下所示: $("#currentpassword").keyup(function() { var name = $(this).val(); if (name.length &g

我有一个用AJAX编写的代码,用于检查密码是否存在。如果是,则发送“确定”作为输出,否则发送“不正确”作为输出。我想在AJAX调用的响应中成功地处理基于此的do任务。你怎么处理呢?如果密码正确,我希望删除表单元素中disabled的属性,否则我希望表单元素的属性保持为disabled。 AJAX代码如下所示:

$("#currentpassword").keyup(function() {
    var name = $(this).val();

    if (name.length > 5) {
        $("#result").html('checking...');



        $.ajax({

            type: 'POST',
            url: 'checkPassword.php',
            data: $(this).serialize(),
            success: function(data) {
                if (data == "1") {
                    $("#result").html(data);
                    $("#newpassword").removeAttr("disabled");
                    $("#confirmpassword").removeAttr("disabled");

                } else {
                    $("#result").html(data);

                }
            }


        });
        return false;
    } else {
        $("#result").html('');
    }
});
checkpassword php文件如下所示:

 <?php

  include_once 'includes.php';




// Submitted form data 

         $currentpassword=$_POST['currentpassword'];


        $result = mysqli_query($db,"SELECT * FROM `users` WHERE `password`='$currentpassword' AND `username`='$session_username'");
$row = mysqli_num_rows($result);

if($row!=1) {
    echo "<span style='color:red;'>Incorrect Password !!!</span>";;

}
else {
    echo "OK";
}

// Output status

 ?>

好方法是PHP文件应该如下所示

<?PHP

header('Content-type:application/json;charset=utf-8');

include_once 'includes.php';

$currentpassword=$_POST['currentpassword'];

$result = mysqli_query($db,"SELECT * FROM `users` WHERE `password`='$currentpassword' AND `username`='$session_username'");
$count  = mysqli_num_rows($result);

if($count! = 1) {
   header('HTTP/1.1 401 Unauthorized', true, 401);
    echo json_encode('In Correct Password');
} else {
    header('HTTP/1.1 404 Not Found', true, 404);
    echo json_encode('Not Found');
}

希望这有助于而不是
if(data==“1”){
,当您从PHP代码返回
OK
时,选择
if(data==“OK”){
。您的PHP永远不会返回
“1”
所以ajax回调没有寻找正确的响应-它要么发送
OK
要么
不正确的密码!!!
@vijayP是的,如果(数据==“OK”)仍然没有,我试过了working@RamRaider那么,在我的php代码案例中,从php返回值的正确方法应该是什么呢?在ajaxfunction(数据)中添加
dataType:text
{//这里只有200美元(“#结果”).html(数据);$(“#新密码”).removeAttr(“禁用”);$(“#确认密码”).removeAttr(“禁用”);},错误(jqXHR,异常){$(“#结果”).html(数据)}“我改了……对吗?”赖亚·保罗Sam@user21488为什么
var数据在
error()函数中可见??
$.ajax({

            type: 'POST',
            url: 'checkPassword.php',
            data: $(this).serialize(),
            success: function(data) {
               // Only 200 comes here
            }, error(jqXHR, exception) {
              // All errors except 200 comes here.
            }


        });