Angular $ http获取参数
问题描述:
我想弄清楚如何在角度$ http中包含查询参数调用服务来检索搜索建议然后搜索,搜索不工作 - 我可以得到建议。我正在使用AngularJS UI Bootstrap Typeahead提供建议,然后通过ng-submit在选择时调用search()
。
我为我的路线(状态 - UI路由器),这样我可以显示在结果页面 .STATE的URL(“搜索”的查询参数,{
url: '/search?query',
我初始化查询为使
vm.searchTerms = $stateParams.query || '';
然后我的$ HTTP GET我getSuggestion函数调用控制器从服务
vm.getSuggestions = function(query) {
return coreService.getSuggestions(query, {
params: {query: query}
})
.then(function(es_return){
var suggestions = es_return.hits.hits;
return vm.autocomplete.suggestions = suggestions.map(function(item) {
return item._source.suggestions;
});
});
};
检索建议
此设置不起作用。所以我看了看文档,并试图以包括有一个配置{}其中的配置会是这样的
var config = {
query: vm.searchTerms
}
然后
vm.getSuggestions = function(query) {
return coreService.getSuggestions(query, config)
.then(function(es_return){
var suggestions = es_return.hits.hits;
return vm.autocomplete.suggestions = suggestions.map(function(item) {
return item._source.suggestions;
});
});
};
而且仍然没有工作。所以我不太清楚如何在查询参数中包含config {}以获取和搜索的建议。我不知道它是否有所作为,但我在表单上的ng模型是搜索()的vm.searchTerms ...应该只是将所有内容切换到查询?
我有这在我的search()
在我的控制器
$state.go('search', {query: vm.searchTerms});
答
尝试以下提到的链接 https://docs.angularjs.org/api/ng/service/ $ HTTP https://docs.angularjs.org/api/ng/service/ $ HTTP#使用
getSuggestions(查询,{PARAMS:{查询:查询}} )
@PetrAveryanov - 我想我只是想出了这个,参数不应该在getSuggestion函数 - 它应该在我的搜索功能。没有理由在我的getSuggestions函数中使用它 - 你会同意吗? – user3125823