日期:2014-05-16  浏览次数:20545 次

jquery ajax responseText变量未定义
代码如下,使用jquery ajax,在firefox里DEBUG可以看到responseText是有值的,但res和user都显示undefined.
var userInfo = $.get({
url : context + "/session",
async:true
});
 
var res = userInfo.responseText;
var user = eval("(" + userInfo.responseText + ")");
//alert(user.success);
if (user.success == false) {
$('#loginForm').css("display", "none");
};

------解决方案--------------------
主要是你没搞清楚什么是异步,你用同步的方式本身就是个错误。
$.get({
url : context + "/session",
success:function(userInfo){
var res = userInfo;
var user = eval("(" + userInfo + ")");
//alert(user.success);
if (user.success == false) {
$('#loginForm').css("display", "none");
};
}
async:true
});
------解决方案--------------------
$.post({
url : context + "/session",
success:function(userInfo){
var res = userInfo;
var user = eval("(" + userInfo + ")");
//alert(user.success);
if (user.success == false) {
$('#loginForm').css("display", "none");
};
}
async:true
});
success是返回成功后的数据