【发布时间】:2017-05-03 14:05:48
【问题描述】:
我已经设置了 Azure 并创建了 Angular 工厂。
.factory('client', [function () {
var client = new WindowsAzure.MobileServiceClient("https://xxx.azurewebsites.net/");
return client;
}])
在登录控制器中,
.controller('LoginCtrl', ['$scope', '$state', 'client', function ($scope, $state, client) {
$scope.loginFacebook = function () {
console.log('loginFacebook...')
client.login("facebook").then(function (data){
console.log('logged in succesfully..')
$state.go('menu.events');
}, function(error){
console.log('login failed.');
$scope.err = JSON.stringify(error); // error is {}
//login failed.
$state.go('menu.test');
});
};
}])
以下代码可在桌面网络浏览器中运行(使用 Ripple 测试)。我可以登录并重定向到menu.events。
但是,它总是在构建后登录并创建手机应用程序后调用错误回调。错误回调的参数error的值是一个空对象{}。下图闪得很快(我录了视频,截屏了)。
当error 为空对象时,我尝试更改错误回调以重定向页面,如下所示。但是,我发现如果在提示输入用户名/密码时单击返回键,它仍然会重定向。
function (error) {
if (Object.keys(error).length === 0 /*&& error.constructor === Object*/) {
$state.go('menu.events');
};
$scope.err = JSON.stringify(error);
console.log('login failed.');
}
以下是ionic run android -lc的完整输出
【问题讨论】:
标签: angularjs cordova azure ionic-framework azure-mobile-services