这是我向我的elasticseach服务器发送GET
请求的代码:
var client = new elasticsearch.Client({
host: 'localhost:9200',
log: 'trace'
});
client.search({
index: 'deals',
type: 'couchbaseDocument',
body: {
query: {
match: {
source: 'doc.amenities'
}
}
}
}).then(function (resp) {
var hits = resp.hits.hits;
}, function (err) {
console.trace(err.message);
});
但是,这是发送的实际请求after checking chrome developing tools
:
POST "http://localhost:9200/deals/couchbaseDocument/_search".
但我需要GET
而不是POST
怎么样?
我已经检查了documentation:
他们只是说如何发送head
和post
,没有GET
次请求
答案 0 :(得分:0)
大多数浏览器都不允许您向GET
请求附加正文,这就是库无法以这种方式工作的原因,以及REST API接受POST
的原因纯粹是一个只读请求。
您可以通过changing the default method
used(passing your own method
)覆盖行为,但我建议不要这样做,以保证兼容性。我假设您正在与代理作斗争,以确保只允许只读请求。您应该只为POST
以/_search
结尾的var position = System.Windows.Forms.Cursor.Position;
个请求为Elasticsearch提供例外,而不是试图与浏览器对抗代理。