0

我正在嘗試將彈性搜索中的geoshape查詢集成到我的angularjs代碼中,以便發出http請求來獲取駐留在elasticsearch本地實例上的數據,但控制檯拋出錯誤無效XMLhttp參數。我想這與我如何將URL添加到geojson有關。以下是我在哪裏創建http請求集成geojson查詢以angularjs生成http請求

function spatialsearch() { 
      var _url = '127.0.0.1:9201/_search?'; 

      var b = { 
       "query": { 
        "bool": { 
         "must": { 
          "match_all": {} 
         }, 
         "filter": { 
          "geo_shape": { 
           "metadata.o2r.spatial.geometry": { 
            "shape": { 
             "type": "polygon", 
             "coordinates": [ 
              [ 
               [-22.0, 76.0], 
               [-27.0, 65.0], 
               [-57.0, 65.0], 
               [-59.0, 76.0], 
               [-22.0, 76.0] 
              ] 
             ] 
            }, 
            "relation": "contains" 
           } 
          } 
         } 
        } 
       } 
      }; 
      _url += b; 
      return $http.get(_url); 
      console.log("hello"); 

     } 

這裏的功能是如何我在angularjs

function callingspatialsearch(){ 
    var deferred = $q.defer(); 
httpRequests. 
spatialsearch() 
.then(cb1) 
.catch(errorHandler); 
return deferred.promise; 


    function cb1(response){ 
     $log.debug('result of search: %o', response); 
     deferred.resolve(response); 
    } 

    function errorHandler(e){ 
     $log.debug('search error: %o', e); 
     deferred.resolve(e); 
    } 
    } 

在我的HTML我加入呼籲在我的js文件的HTTP請求一個按鈕,這樣當用戶點擊按鈕時,結果就會顯示出來。

<md-button ng-click="vm.button()" class="search-button md-primary md-raised white-font">Spatial</md-button> 
+0

你可能需要張貼在體內的查詢,而不是將其附加到網址,並用GET發送它的。 – Val

+0

@Val我不明白你的意思發佈在身體查詢?你能舉個小例子嗎? – Rehan

+0

我的意思是這樣的:'$ http.post(_url,b)'並刪除行_url + = b;' – Val

回答

0

我使用$http.post(_url)而不是GET和幫助我在檢索結果