Angularjs IONIC应用程序-获取post服务的设备id($http.post)
我正在尝试在应用程序登录时获取设备id getUUID以及用户名和密码。是获取设备id并将其发布到服务器进行登录的正确方法 controller.jsAngularjs 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 ={
.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);
}