我正在基于.cfc(组件)响应使用JQuery创建重定向,但是它将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调用发送用户电子邮件和用户密码的组件。
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
有人知道为什么会这样吗?
谢谢