您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用axios将请求发送到Elasticsearch

使用axios将请求发送到Elasticsearch

我认为以下应该可行。虽然爱可信自述说,data是专门只为PUTPOST,和PATCH请求,我没有看到在强制执行此代码的任何,和简化的测试表明,请求主体为确实发出GET请求:

axios.get('http://localhost:9200/my-index/my-type/_search', {
  data: JSON.stringify(query),
}).then((res) => {
  console.log(res);
});

请注意,我仅在Node.js中进行了测试,而没有在浏览器中进行过测试。浏览器可能不太愿意在请求中包含请求主体GET

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);
});

确实,这确实是GET在浏览器中发出请求的一般限制。根据XMLHttpRequest.send的文档

如果请求方法是GET或HEAD,则忽略参数,并将请求主体设置为null。

其他 2022/1/1 18:22:33 有307人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶