我认为以下应该可行。虽然爱可信自述说,
data是专门只为
PUT,
POST,和
PATCH请求,我没有看到在强制执行此代码的任何,和简化的测试表明,请求主体为确实发出
GET请求:
axios.get('http://localhost:9200/my-index/my-type/_search', { data: JSON.stringify(query),}).then((res) => { console.log(res);});编辑
请注意,我仅在Node.js中进行了测试,而没有在浏览器中进行过测试。浏览器可能不太愿意在请求中包含请求主体
GET。
编辑2
Elasticsearch似乎允许改为在参数中发送请求正文,也许是因为这个问题。
这应该可以解决问题:
axios.get('http://localhost:9200/my-index/my-type/_search', { params: { source: JSON.stringify(query), source_content_type: 'application/json' }}).then((res) => { console.log(res);});编辑3
确实,这确实是
GET在浏览器中发出请求的一般限制。根据XMLHttpRequest.send的文档:
如果请求方法是GET或HEAD,则忽略参数,并将请求主体设置为null。



