代码从用户的输入中获取用户名和密码。然后它使用2个函数获取设备Mac地址。我知道这部分可以简化,我愿意接受建议。
我100%确定$ scope.data.macAddr不为空,因为我可以在控制台上打印它。我担心数据类型,但我确认它是一个使用“type”的字符串,它返回'String'。
更新:当我检查帖子标题时,只有用户名和密码正在发送。
我不明白为什么http.post发送一个空的/根本没有将它传递给服务器。
P.S我知道MD5的风险。我正在使用MD5来测试我的代码。最后,最后,我将使用HTTPS / SSL和Bcrypt
var link = 'http://app.example.com/api.php';
MacAddress.getMacAddress(function(macAddress){$scope.getMacAddr(macAddress);}, function(fail){console.log(fail);});
$scope.getMacAddr = function(macAddr) {
$scope.macAddr = macAddr;
$scope.data.macAddr = macAddr;
}
$http.post(link, {
username: md5.createHash($scope.data.username),
password: md5.createHash($scope.data.password),
macAddr: $scope.data.macAddr
}).then(function(res) {
console.log(typeof ($scope.data.macAddr));
答案 0 :(得分:0)
好的,所以你在这里有两个异步调用。一个是获取MAC地址的调用,一个是http帖子。以下是发生的事情:
$scope.data.macAddr
$scope.data.macAddr
。当mac地址可用时,从步骤1中传递的回调函数内发送http请求。