Javascript Jquery ajax数据转换为字符串
我的jQueryAjax有问题。我有以下代码: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语句发挥作用
$.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
}
}
});