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);
}
};
});