我看过类似的问题,但都没有意义。 我有api,我将用来登录人。他们提供用户名和密码,然后我查询api,它返回帮助我决定是否登录用户的数据。 我试图弄清楚如何将值从视图传递到服务,并使用正确的url字符串来查询url。这是视图
<div ng-controller="AppController">
<input type="text" placeholder="username" ng-model="password" />
<input type="password" placeholder="Password" ng-model="password" />
<input type="submit" value="Sign In" ng-click="login()" />
</div>
然后这是控制器
app.controller('AppController', function ($scope, AppService) {
$scope.login = function () {
$scope.credentials = AppService.getData();
}
$scope.username;
$scope.password;
});
然后服务
app.service('AppService', function ($http) {
this.getData = function () {
return $http({
method: 'POST',
url: 'http://www.example.com/api/parent',/*should be http://www.example.com/api/parent?username=username&password=password */
parameters: {
}
});
}
});
我需要帮助的是如何在视图中附加用户名和密码,以便像在服务中的注释中一样创建正确的查询字符串。 感谢
答案 0 :(得分:0)
在从控制器调用服务时,传递用户名和密码,如此AppService.getdata($ scope.username,$ scope.password)。同样修改AppService中的函数定义,以期望用户名和服务作为参数。
答案 1 :(得分:0)
您不希望将用户名和密码传递给getData()
的原因是什么?
而是$http
您可以使用$resource并使用自定义逻辑和操作创建更复杂的对象。
或者您可以使用$ http params参数(不是参数)并只传递:
parameters{'username': username, 'password': password}
答案 2 :(得分:0)
您可以传递如下参数:
return $http({
method: 'POST',
url: 'http://www.example.com/api/parent',/*should be http://www.example.com/api/parent?username=username&password=password */
parameters: {
username: $scope.username,
password: $scope.password
}
});