如何使用 html 按钮发送 POST 请求

How to send a POST request using an html button

我想向URL发送一个POST请求,例如,我想按这个按钮在influxdb中创建一个数据库。 到目前为止,我已经尝试过了,但无法正常工作

 <button id="post-btn">Post</button>

<script> 
const button = document.getElementById('post-btn');
button.addEventListener('click', async _ => {
  try {
    const response = await fetch('http://00.00.000.000:2000/query', {
      method: 'post',
      body: {
       "q=create database telecom"
      }
    });
    console.log('Completed!', response);
  } catch(err) {
    console.error(Error: ${err});
  }
});
</script>

它给我的错误是“获取失败”

您必须处理 Cross-Origin Resource Sharing,因此您需要在 InfluxDB 服务器端允许您的 Grafana 来源。

反正看起来很不安全。如果您可以调用 create database telecom,那么其他 Grafana 用户也可以请求自己的查询,例如drop database telecom。 Grafana 应具有只读访问权限,InfluxDB 应在 Grafana 外部进行管理。