Javascript Jquery ajax数据转换为字符串

Javascript Jquery ajax数据转换为字符串,javascript,jquery,ajax,Javascript,Jquery,Ajax,我的jQueryAjax有问题。我有以下代码: $.ajax({ url: '/users/validatepassword/'+current, success: function(data){ status = data; }, async: false }); if(status == "Password correct") { //do something } 基本上,我想捕获“成功”时返回的“数据”。但我无法让if语句发挥作用

我的jQueryAjax有问题。我有以下代码:

$.ajax({
    url: '/users/validatepassword/'+current,
    success: function(data){
        status = data;
    },
    async: false
});

if(status == "Password correct")
{
    //do something
}

基本上,我想捕获“成功”时返回的“数据”。但我无法让if语句发挥作用。我认为“数据”不是字符串,因此无法进行比较。

尝试在ajax代码中检查状态条件

$.ajax({
    url: '/users/validatepassword/'+current,
    success: function(data){
        status = data;
        if(status == "Password correct")
        {
         //do something
        }
    },
    async: false
});
如果条件在ajax之外,它将在ajax返回之前执行。

您可以这样尝试

 var response = $.ajax({
            url: '/users/validatepassword/'+current,
            async: false
        }).responseText;

        if(response == "Password correct")
        {
            //do something
        }

在ajax调用外部定义状态。然后到处访问它

var status = '';
$.ajax({
    url: '/users/validatepassword/'+current,
    async: false,
    dataType: "json",
    success: function(data){
        status = data;
    },

});

if(status == "Password correct")
{
    //do something
}
用户/validatepassword中使用json\u encode()


您可以看到,您应该在success函数中处理消息,而不是从外部处理消息

var status = '';
$.ajax({
    url: '/users/validatepassword/'+current,
    async: false,
    success: function(data){
        status = data;
        if(status == "Password correct")
        {
            //do something
        }
    }
});

@Comebal:伙计,这就是你需要做的:

首先删除async:false

$.ajax({
    url: '/users/validatepassword/'+current,
    success: function(data){
       //alert(data); 
       if(data == "Password correct")
        {
                  //do something
        }
    }
});

然后,主要的部分是确保来自ajax页面的数据是“密码正确”的,否则你就不能“做点什么”…)

您是否检查了返回的数据,请尝试警报(数据);first@nbrooks他有
async:false
。但是comebal-你可能不应该这样编码。@Ariel哇,完全没有做到这一点lol@comebal你能显示数据的值吗?我想数据是其他格式的,比如JSON之类的else@Ariel我应该把它拿走吗?我只是一个初学者,所以我还不太懂。谢谢。你真的解决了我的问题。我做了一些小的修改,效果很好D@comebal:我很高兴能够提供帮助。提示:对于TXT或xml,请使用
dataType:“text”
dataType:“xml”
$.ajax({
    url: '/users/validatepassword/'+current,
    success: function(data){
       //alert(data); 
       if(data == "Password correct")
        {
                  //do something
        }
    }
});