1
我似乎遇到在多个异步调用Ajax是造成cfwheels返回找不到错误动作的情况。我注意到当我添加async:false到我的ajax调用时,我得到了一个成功的响应,但是当我不添加我随机得到错误响应时。当其他Ajax调用正在处理中,但它需要更长的时间,由于异步设置加载CFWHEELS异步AJAX调用返回轮动作没有发现
此代码工作正常。
var checkLogin = function(){
var loggedin = false;
loginValidated = true;
//Check login status
$.ajax({
type: "POST",
url: '/loginAjax/validateLogin?format=json',
global: false,
async: false,
success: function(data) {
if (data.loggedIn) {
loggedin = true;
}
}
});
return loggedin;
};
这种随机出现故障时,请注意我删除了异步设置:
var checkLogin = function(){
var loggedin = false;
loginValidated = true;
$.ajax({
type: "POST",
url: '/loginAjax/validateLogin?format=json',
global: false,
success: function(data) {
if (data.loggedIn) {
loggedin = true;
}
}
});
return loggedin;
};
这里是我打电话的动作:
<cffunction name="validateLogin">
<cfset var returnObj = {}>
<!--- Set Return Data --->
<cfset returnObj["loggedIn"] = false>
<cfif StructKeyExists(SESSION.User, 'loggedIn')>
<cfset returnObj["loggedIn"] = true>
</cfif>
<cfset renderWith(returnObj)>
</cffunction>
任何帮助表示赞赏。 :)
这是发展模式和设计模式。我还没有打开生产模式进行测试,因为系统使用了一套API,一旦生产,它们都将连接到实时API而不是开发API。我将不得不尝试测试模式,看看我是否仍然有相同的问题。 – osekmedia
是的,开发和设计模式不缓存框架,他们每次都重新加载CFC,所以我一定会尝试! – Neokoenig
我觉得那样做了!谢谢!! – osekmedia