Я создаю перенаправление с использованием JQuery на основе ответа .cfc (component), но он добавляет CFID и CFTOKEN к URL-адресу и не перенаправляет.
У меня есть базовая форма:
<form accept-charset="UTF-8" role="form">
<fieldset>
<div class="form-group">
<input class="form-control" placeholder="E-mail" name="userEmail" id="userEmail" type="text">
</div>
<div class="form-group">
<input class="form-control" placeholder="Password" name="userPassword" id="userPassword" type="password" value="">
</div>
<div class="checkbox">
<label>
<input name="remember" type="checkbox" value="Remember Me"> Remember Me
</label>
</div>
<input class="btn btn-lg btn-success btn-block" type="button" onClick="loginTest();" value="Login">
</fieldset>
</form>
Затем .js вызывает компонент, отправляющий useremail и userpw.
function loginTest(){
if($("#userEmail").val() == ''){
// alert
return;
}
if($("#userPassword").val() == ''){
// alert
return;
}
data = {
UserEmail: $("#userEmail").val(),
UserPW: $("#userPassword").val()
};
$.ajax({
type: "get",
url: 'components/login.cfc',
data: {
method:"ajaxLogin",
data: JSON.stringify(data)
},
dataType: "json",
success: function(result) {
var url = 'index.cfm?p=30';
$(location).attr('href', url);
},
error: function (error){
console.debug(error);
}
});
}
Компонент просто выполняет проверки и устанавливает некоторые переменные сеанса.
private any function login(data){
// Queries to check user
// ...
// ...
/*
Set some session varaibles
session.Test = 'ABC';
*/
return '0';
}
Когда я нажимаю кнопку «Войти», все работает, и он пытается перенаправить страницу. Тем не менее, он просто устанавливает CFID и CFToken на URL и не перенаправляет.
mysite.com/index.cfm?CFID=664628&CFTOKEN=42734ff2bf67b603-54DF7374-D3FE-675B-7950040D96BED9D9
Кто-нибудь знает, почему это происходит?
Снимок экрана Chrome Network:
Спасибо