我想弄清楚如何在角度$ 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});
getSuggestions(查詢,{PARAMS:{查詢:查詢}} )<<太多的查詢在這裏... –
@PetrAveryanov - 我想我只是想出了這個,參數不應該在getSuggestion函數 - 它應該在我的搜索功能。沒有理由在我的getSuggestions函數中使用它 - 你會同意嗎? – user3125823