2011-08-15 26 views
0

我的$(document)。就绪块内的以下代码:jQuery的Ajax响应和可变分配问题

$.ajax({ 
    type: "POST", 
    url: "Test.aspx/CheckType", 
    data: "{}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function (response) { 
     if (response.d == true) { 
      user = true; 
     } 
     else { 
      user = false; 
     } 
    }, 
    error: function() { 
     alert("ERROR"); 
    } 
}); 


if (user) { 
    // code that doesn't execute 
} 
else { 
    // code that always executes!! 
} 

的问题是,用户变量是不确定的,总是执行else块中的代码。

我用FireBug检查过ajax调用成功。

可能是什么问题?

在此先感谢!

+0

你在哪里声明变量?在ajax调用之前使用 – 8vius

+0

。 – Sash

+0

在函数范围内还是全局变量? – 8vius

回答

1

这很可能是在返回ajax调用之前读取用户变量的问题,因此它总是未定义的,请尝试将您的if语句放入ajax调用中并以此方式进行测试。

+0

你是对的!谢谢! – Sash

+0

没问题,不客气:D – 8vius