集成 geojson 查询以在 angularjs 中生成 http 请求

integrating geojson query to generate http requests in angularjs

我正在尝试将来自弹性搜索的 geoshape 查询集成到我的 angularjs 代码中,以发出 http 请求以获取驻留在 elasticsearch 本地实例上的数据,但控制台抛出 错误无效的 XMLhttp 参数 。我想这与我如何使用 URL 添加 geojson 有关。以下是我创建 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

的 js 文件中调用 http 请求的方式
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 中,我添加了一个按钮,以便当用户单击按钮时显示结果。

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

我正在使用 $http.post(_url) 而不是 GET,这有助于我检索结果