Кажется, я сталкиваюсь с ситуацией, когда несколько асинхронных вызовов ajax заставляют cfwheels возвращать ошибку действия, не найденного. Я заметил, что когда я добавляю async: false к моему вызову ajax, я получаю успешный ответ, но когда я не добавляю это, я получаю случайный ответ с ошибкой.
Этот код отлично работает, когда обрабатываются другие вызовы ajax, но загрузка занимает больше времени из-за настройки async.
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;
};
Это случайно не удается, обратите внимание, что я удалил параметр async:
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>
Любая помощь приветствуется. :)