chrome / AngularJS在Chrome中无法在iOS模拟器中找到变量:$

时间:2014-11-10 21:41:20

标签: ios angularjs cordova ionic-framework

我目前正在使用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进行登录。

任何指针都会有很大的帮助!现在抓我几个小时!!

0 个答案:

没有答案