我目前正在使用Ionic框架(包括AngularJS)和PhoneGap来开发移动应用程序。 在chrome中运行时,应用程序可以无缝工作(我在开发过程中一直在调试错误)。
我今天部署到iOS模拟器并将其连接到safari开发人员工具并得到了跟随错误。
Error: Can't find variable: $
我的控制器等在这里工作正常但是我的postLogin()
功能没有。
这是我的LoginController的缩减版本,我没有正确传递$?
.controller('LoginCtrl', function($http, $ionicLoading, $scope, $state) {
$scope.login = {};
$scope.handlerLogin = function(response){
$ionicLoading.hide();
if(response.data.response == 1){
localStorage.setItem("token",response.data.token);
$state.go("app.search", {}, {reload: true});
}else if(response.data.response == 0){
$scope.login.password = '';
$('#errorMessageText').text('Login failed. Please try again.');
$('#errorMessage').fadeIn(2000, function(){$('#errorMessage').fadeOut('slow');});
}else{
//handle general error?
}
}
$scope.postLogin = function() {
$ionicLoading.show({
template: 'loading'
});
var formdata = $scope.login;
var url = api + 'api/login';
$.ajax({
type: "GET",
url: url,
data: formdata,
success: function success(data){
$scope.handlerLogin(data);
},
dataType: 'jsonp'
});
};
$scope.doLogin = function() {
if($scope.login.email == null || $scope.login.password == null){
$('#errorMessageText').text('Please complete both fields.');
$('#errorMessage').fadeIn(2000, function(){$('#errorMessage').fadeOut('slow');});
}
else{
$scope.postLogin();
}
}
});
请暂时停止使用JSONP
进行登录。
任何指针都会有很大的帮助!现在抓我几个小时!!