Return Rails API 在 Angular 中的搜索结果
Return search results from Rails API in Angular
我有一个 rails API 将 运行 GET 请求和 return 搜索结果。我想把它连接到前端的 angular 应用程序。
我的工厂是这样的:
app.factory('results', ['$http', function($http) {
return $http.get('/droplets/search?search=' + searchparam + '.json')
.success(function(data) {
return data;
})
.error(function(err) {
return err;
});
}]);
我的第一个问题是我不知道如何将搜索参数传递给工厂。我的表单如下所示:
<form class="form-inline" name="searchDropletsForm" ng-submit="findDroplets">
<div class="form-group">
<input ng-model="search_keyword" type="text" class="form-control" placeholder="Search Droplets">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
然后在控制器中我有:
app.controller('SearchController', ['$scope', 'results', function($scope, results) {
results(search_keyword).success(function(data) {
$scope.results = data;
});
}]);
这里的问题是知道如何将来自 ng-model="search_keyword" 的表单参数传递到控制器,然后传递到工厂,以便我可以执行搜索。
你的工厂需要稍作改动:
app.factory('results', ['$http', function($http) {
return {
search : function (searchparam) {
return $http.get('/droplets/search?search=' + searchparam + '.json')
}
}
}]);
您的控制器也需要更改:
app.controller('SearchController', ['$scope', 'results', function($scope, results) {
results.search($scope.search_keyword).success(function(data) {
$scope.results = data;
});
}]);
我有一个 rails API 将 运行 GET 请求和 return 搜索结果。我想把它连接到前端的 angular 应用程序。
我的工厂是这样的:
app.factory('results', ['$http', function($http) {
return $http.get('/droplets/search?search=' + searchparam + '.json')
.success(function(data) {
return data;
})
.error(function(err) {
return err;
});
}]);
我的第一个问题是我不知道如何将搜索参数传递给工厂。我的表单如下所示:
<form class="form-inline" name="searchDropletsForm" ng-submit="findDroplets">
<div class="form-group">
<input ng-model="search_keyword" type="text" class="form-control" placeholder="Search Droplets">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
然后在控制器中我有:
app.controller('SearchController', ['$scope', 'results', function($scope, results) {
results(search_keyword).success(function(data) {
$scope.results = data;
});
}]);
这里的问题是知道如何将来自 ng-model="search_keyword" 的表单参数传递到控制器,然后传递到工厂,以便我可以执行搜索。
你的工厂需要稍作改动:
app.factory('results', ['$http', function($http) {
return {
search : function (searchparam) {
return $http.get('/droplets/search?search=' + searchparam + '.json')
}
}
}]);
您的控制器也需要更改:
app.controller('SearchController', ['$scope', 'results', function($scope, results) {
results.search($scope.search_keyword).success(function(data) {
$scope.results = data;
});
}]);