我正在做我的第一个 phonegap 应用程序,但遇到了登录问题。我在站点控制器中有一个 appLogin 操作,我知道它会到达控制器的操作并登录 - 无论如何凭据都会得到验证并且登录成功。但是应用程序中的 ajax 调用无法得到响应。如果我注释掉登录部分并仅回显某些内容,则 ajax 调用成功并收到响应。我知道我可能缺少有关身份验证的一些基本内容。它是什么?
我在站点控制器中的登录操作:
public function actionAppLogin()
{
$model=new LoginForm;
// if it is ajax validation request
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
// collect user input data
if(isset($_POST['loginform']))
{
$request = $_POST['loginform'];
$model->attributes=$request;
if($model->validate() && $model->login()){
//it reaches here
echo 111;
} else {
echo 444;
}
} else {
echo 222;
}
}
我在应用程序中的ajax登录功能:
BusinessBox.prototype.serLogin = function(){
var me = this;
alert("ajax login "+me.credentials.loginform.username);
$.ajax({
type: "POST",
url: serverActions.appLogin(),
dataType: "json",
data: me.credentials
}).done(function( obj ) {
alert(obj);
if(obj) {
me.loggedIn = true;
alert(obj);
} else {
me.loggedIn = false;
alert("not logged in");
}
}).fail(function(err){
alert("error log in");
});
}