Я развиваюсь в coldfusion с каркасом cfwheels. Я пытаюсь проверить (через AJAX), является ли или нет пользователь вошел в перед отправкой формы на защищенную страницу, которая требует пользователю быть авторизованы. Моя Аякса выглядит такcfwheels, возвращающийся JSON, который закомментирован
function viewOnWebsite()
{
params = {
format: "json"
, domain: '.#page.domain#'
};
$.ajax({
url: '/user/login'
, data: params
, dataType: 'json'
, type: 'POST'
, success: function(result, status, jqXHR){
if(result)
{
$('##frmViewOnWeb').submit();
}
else
{
alert('could not validate access to the website. You can try to refresh the page or log in');
}
}
, error: function(jqXHR, status, error){
alert(status);
console.log(error);
}
});
}
И вот контроллер (детали, которые необходимо просмотреть)
<cfcomponent extends="Controller">
<cffunction name="init">
<cfset provides("html,json")>
</cffunction>
<cffunction name="login"><cfscript>
validationFunctionThatRedirectsInvalidUsers(true, 18);
/* Check to see if the authtoken still exists in the db. */
if(tokenIsValid(session.user.aToken))
{
response = {valid = "true"};
}
else
{
/* Create a new token */
application.user.notImportantCode();
/* Set the cookie */
cookie.somethingYouDontNeedToKnow = {
value = session.user.aToken
, domain = params.domain
};
response = {valid = "true"};
}
renderWith(data = response, returnAs = "json");
</cfscript></cffunction>
Прошу прощения за мошенничество моего кода в это время.
Как ни странно мой ответ от этой функции дает мне закомментирована JSON строку, которая выглядит следующим образом:
//{"valid":true}
Chrome, Firefox и IE не может анализировать это (не пробовал сафари). Любая помощь приветствуется.
Также конечная игра должна возвращать true, если функция была успешной и ложной, если это не так. поэтому я хочу установить ответ на true или false, а не на структуру, как я сейчас. Я был буквально пытается вещи с тех пор, когда я просто вернулся правда я получаю строку JSON, как это:
//{true}
Спасибо Я чувствую себя глупо сейчас, хотя. Это был довольно простой ответ. Я знал, что это будет так просто. –