Javascript AngularJS-如何从get方法获取数据

Javascript AngularJS-如何从get方法获取数据,javascript,angularjs,Javascript,Angularjs,我的控制器: angular.module('apartmentCtrl', []) .controller('ApartmentController', function ($scope, $http, Apartment) { $scope.loading = true; $scope.myLocation = ''; Apartment.get($scope.myLocation).success(function (data) { $scop

我的控制器:

angular.module('apartmentCtrl', [])

.controller('ApartmentController', function ($scope, $http, Apartment) {
    $scope.loading = true;

    $scope.myLocation = '';

    Apartment.get($scope.myLocation).success(function (data) {
        $scope.apartments = data;
        $scope.loading = false;
    });
});
我的服务 angular.module'apartmentService',[]

.factory('Apartment', function ($http) {
    return {
        get: function (myLocation) {
            //return $http.get('/api/apartments');
            return $http({
                method: 'GET',
                url: '/api/apartments',
                //headers: {'Content-Type': 'application/x-www-form-urlencoded'},
                params: {location: myLocation}
            });
        }
    };
});
我的HTML:

<input type="text" name="myLocation" class="form-control" ng-model="myLocation">

如何通过AngularJS从get方法获取数据并将其传递给params

如果要将表单中的某个值作为位置传递,则应将其绑定到模型,并显式传递给factory get函数

我这里有一个工作示例,它只是执行一个窗口警报,显示键入的数据,而不是$http调用,但想法是一样的

Html:


请出示你的密码。您是否使用Angular提交表单?您可以使用$http来提交表单。您必须在控制器中使用$http服务。请出示您的密码。我以一般方式提交表单。我不理解这个问题,您是否试图将键入的内容输入html表单,并将这些值用作上面显示的GET方法中的参数?我无法获取myLocation的值:谢谢。成功了。但我有一个新问题。假设我有一个url,如:http://myproject.com/apartments?location=&arrival=1/15/2015&departure=2/1/2015&room=1. 如何获取参数到达、离开、房间,并在提交时将其附加到表单的数据中。完全相同,传递所有需要的参数,并在$http中将它们添加到正在发送的参数中。所以你的公寓GET函数可能看起来像:GET:function我的位置,到达,离开,房间。。。在这种方法中,您可以使用以下参数调用web服务:{location:myLocation,arrival:arrival,execast:execast,rooms:rooms}我不明白。对不起,我是AngularJS的新手。加载页面时,如何将url中的所有参数传递给参数。您可以使用$location.search读取请求url参数。请参阅您的代码示例:
<!DOCTYPE html>
<html ng-app="plunker">

  <head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <link rel="stylesheet" href="style.css" />
    <script data-require="angular.js@1.2.x" src="https://code.angularjs.org/1.2.28/angular.js" data-semver="1.2.28"></script>
    <script src="app.js"></script>
  </head>

  <body ng-controller="MainCtrl">
    <p>Hello {{name}}!</p>

    <form ng-submit="getIt()">
      <input type="text" ng-model="myLocation"/>
      <input type="submit"/>
    </form>

  </body>

</html>
var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope, Apartment) {
  $scope.name = 'World';
  $scope.myLocation = 'Hollywood';

  $scope.getIt = function() {
    Apartment.get($scope.myLocation);
  }
});

app.factory('Apartment', function ($window) {
        return {
            get: function (whatLocation) {
                $window.alert(whatLocation);
            }
        };
    });