0

我正在尝试将来自弹性搜索的 geoshape 查询集成到我的 angularjs 代码中,以发出 http 请求以获取驻留在弹性搜索本地实例上的数据,但控制台会抛出无效 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>
4

1 回答 1

0

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

于 2017-06-21T10:53:16.637 回答