如何从php中传data 到 js的ajax success中

我平时没有系统学过ajax,老师上课的时候有带到一下,然后现在碰到任务需要用ajax完成。

这是一个用户修改密码的
想要的是根据不同情况,echo 不同的值,并在js中进行判断。谢谢!祝大家新年愉快!

######php部分
if (is_null ($dbusername )) {
echo "2";
}
if($oldpassword != $dbpassword) {
echo "1";
}
if($oldpassword == $dbpassword){
//mysqpli 语句,因为发表说我有正文错误,因此删除 如果上述用戶名密碼判定不錯,則update進數據庫中
echo = "3";
}
//js 部分

success:function(data){
if (data== "3 "){
alert("密碼修改成功,請登錄");
window.location.href="../login.html";

}
if (data== "2"){
alert("用戶名不存在");
window.location.href="../alter_password.html";
}
if (data== "1"){
alert("密碼錯誤");
window.location.href="../alter_password.html"
}
},
error:function(){
alert('發生錯誤'+jqXHR.readyState+' '+jqXHR.status);
},
});

运行结果及报错内容

ajax 的alert 内容跳不出来,页面也无法跳转。但修改密码成功,数据库可以写入

我的解答思路和尝试过的方法
我想要达到的结果

php部分

if (is_null($dbusername )) {
    echo "2";
}
else if($oldpassword != $dbpassword) {
    echo "1";
}
else if($oldpassword == $dbpassword){
//mysqpli 语句,因为发表说我有正文错误,因此删除 如果上述用戶名密碼判定不錯,則update進數據庫中
    echo "3";  //去掉=
}

js 部分

if (data== "3"){ // 3之后不要有空格

$.ajax({
    url: "url.php",
    type: "POST",
    dataType: "text",

    success:function(data){
        if (data== "3"){ // 3之后不要有空格 
            alert("密碼修改成功,請登錄");
            window.location.href="../login.html";
        }
        if (data== "2"){
            alert("用戶名不存在");
            window.location.href="../alter_password.html";
        }
        if (data== "1"){
            alert("密碼錯誤");
            window.location.href="../alter_password.html"
        }
    },
    error:function(jqXHR){//jqXHR加上jqXHR参数
        alert('發生錯誤'+jqXHR.readyState+' '+jqXHR.status);
    }  //逗号去掉

});

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

如果你ajax使用json请求,php返回就不是echo了,而是return json_encode(1);下同

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632