asp.net-mvc – $.ajax({async:false})请求仍然异步发射?
|
我在这里有一个小问题。我试图实现以下场景: >用户打开主页并看到其他用户和点击的列表 听起来很简单?这是我做的:我创建了一个函数isLoggedIn将发出第一个请求到服务器,以确定用户是否登录。我使用jQuery.ajax方法发出此请求。这里的我的功能看起来像: function isLoggedIn() {
$.ajax({
async: "false",type: "GET",contentType: "application/json; charset=utf-8",dataType: "json",url: "/isloggedin",success: function(jsonData) {
alert("jsonData =" + jsonData.LoggedIn);
return jsonData.LoggedIn;
}
});
}
返回的JSON非常简单,看起来像下面这样: { LoggedIn: true } or { LoggedIn : false }
现在这个方法实际上工作并正确显示警报:JsonData = true如果登录,并且JsonData = false如果没有登录。 $(".friend_set .img").click(function() {
debugger;
if (isLoggedIn()) {
alert("alredy logged in");
trackAsync();
popupNum = 6;
}
else {
alert("not logged in"); //always displays this message.
popupNum = 1;
}
//centering with css
centerPopup(popupNum);
//load popup
loadPopup(popupNum);
return false;
});
调用isLoggedIn总是返回false,并且在ajax请求完成之前返回false(因为messagejsonData = true显示在消息“not logged in”之后)。我确保请求是** NOT ** Asynchronous by statingasync:false`! 显然,它仍然是异步工作,虽然。我在这里缺少什么家伙? 解决方法你需要async:false,而不是async:“false”。 (即传递布尔值false,不是字符串“false”)。编辑: function isLoggedIn() {
var isLoggedIn;
$.ajax({
async: false,// ...
success: function(jsonData) {
isLoggedIn = jsonData.LoggedIn
}
});
return isLoggedIn
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 析构函数何时在ASP.NET中调用C#类?
- asp.net – TeamCity可以使用sln2008构建运行程序发布Web项
- asp.net-mvc – mvc 4 beginform with route name
- 我可以在Razor中使用@helper语法返回一个字符串吗?
- asp.net – sitecore模板标准值布局不更新所有项目,布局未加
- asp.net-mvc – 实现多租户ASP.NET MVC应用程序的最快方法
- asp.net-mvc – 在ASP.NET MVC中为URL段添加ID和标题
- Mono,asp.net c#和MVC如何和教程
- asp.net-mvc – 在部署MVC 2 Web应用程序时要绝对检查的事项
- asp.net – 实体框架:如何解决“FOREIGN KEY约束可能导致循
