Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs IONIC应用程序-获取post服务的设备id($http.post)_Angularjs_Ionic Framework_Angularjs Scope_Angular Ui Router - Fatal编程技术网

Angularjs IONIC应用程序-获取post服务的设备id($http.post)

Angularjs IONIC应用程序-获取post服务的设备id($http.post),angularjs,ionic-framework,angularjs-scope,angular-ui-router,Angularjs,Ionic Framework,Angularjs Scope,Angular Ui Router,我正在尝试在应用程序登录时获取设备id getUUID以及用户名和密码。是获取设备id并将其发布到服务器进行登录的正确方法 controller.js .controller('LoginCtrl', function($scope, $http,$rootScope,$window,$location,$cordovaDevice) { $scope.login = function () { var data ={

我正在尝试在应用程序登录时获取设备id getUUID以及用户名和密码。是获取设备id并将其发布到服务器进行登录的正确方法

controller.js

      .controller('LoginCtrl', function($scope, $http,$rootScope,$window,$location,$cordovaDevice) {
         $scope.login = function () {
                var data ={

                  username : $scope.username,
                  password : $scope.password
                };
        document.addEventListener("deviceready", onDeviceReady, false);
            function onDeviceReady() {
               $http.post('login', data, config)
              .success(function (data, status, headers, config) {
                  // $scope.DataResponse = data;
                  $location.path('#/tab/new-order');
              })
              .error(function (data, status, header, config) {
                  $window.alert("username or password incorrect");
              });
                  console.log(device.cordova);
               }

        var config = {
            headers : {
                'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
            }
        }
    };

  })
html代码

  <form action="" class="ki-login-form" method="post" accept-charset="utf-8">
            <div class="form-group username">
                <input type="text" class="form-control" name="username" value="" id="identity" placeholder="Your Name">
            </div>
            <div class="form-group pin">
                <input type="text" class="form-control" name="password" value="" id="identity" placeholder="Your Pin">
            </div>
            <a type="submit" class="btns" ng-click='login()' >Login</a>
    </form>

登录

登录后,必须将其定向到ionic选项卡中的href=“#/tab/new order”页面,在控制器功能中添加依赖项注入$location,如下所示-

 .controller('LoginCtrl', function($scope, $http, $rootScope,$window,$location) {
// Your code
});
您添加评论的解决方案-

使用下列各项— 添加设备插件:
cordova插件添加org.apache.cordova.device

在控制器中:

module.controller('MyCtrl', function($scope, $cordovaDevice) { 
    var uuid = $cordovaDevice.getUUID(); 
});
改变这个

var data = $.param({

              username : $scope.username,
              password : $scope.password,


   });

更新-

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    console.log(device.cordova);
}

我在上面加上了,,请检查一下,设备准备好后,您可以获取uuid..并且可以发布..您的问题是什么?是的,我尝试了上述方法获取设备id,然后将其发布到服务器,但我现在发现此错误$未在ChildScope中定义。$scope.logini编写了一个答案..看看它是否有效..为什么使用$.param..似乎是jquery函数,我希望您没有使用..并且您也不应该使用它。ChildScope中没有定义$scope.login的可能副本。$scope.login高于errorTypeError:无法读取ChildScope中未定义的controllers.js:47 at Object.ready(ionic.bundle.js:2140)的属性“uuid”。$scope.login(controllers.js:38)使用上面的更改进行更新,您指示了ReferenceError:在Object.getUUID上未定义设备。当尝试从浏览器中使用插件时,它将无法在浏览器中工作。它将在deviceTypeError上工作:在Syntaxonic.Platform.ready(function(){$http.post('login',data,config.).success(function(data,status,headers,config){/$scope.DataResponse=data;$location.path('#/tab/new order')上编辑时无法读取未定义的属性'uuid'错误(函数(数据、状态、标题、配置){$window.alert(“用户名或密码不正确”);});console.log(window.device.uuid);});编辑后出现相同的uuid错误-请检查问题中的代码。我已经用$.param更新了itu r!!我已经在我的代码中删除了它们,我也会在这里更新。
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    console.log(device.cordova);
}