Javascript 如何利用';if-else';在ajax中调用和响应?
我有一个用AJAX编写的代码,用于检查密码是否存在。如果是,则发送“确定”作为输出,否则发送“不正确”作为输出。我想在AJAX调用的响应中成功地处理基于此的do任务。你怎么处理呢?如果密码正确,我希望删除表单元素中disabled的属性,否则我希望表单元素的属性保持为disabled。 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
$("#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.
}
});