将POST请求结果保存在全局变量中

问题描述 投票:0回答:2

如何将POST请求结果保存在全局变量中?我需要在点击btn2 HTML后获取名称值(应该在点击btn1之后的值):

<button type='button' id='btn1'>
<button type='button' id='btn2'>

JS:

let name;
const btn1 = document.getElementById('btn1');
btn1.addEventListener('click', () => {
  axios.post('/someUrl', {
      name: 'someName'
    })
      .then((response) => {
        name = response.data.name;
      })
      .catch((error) => {
        console.log(error);
      }); 
});

const btn2 = document.getElementById('btn2');
btn2.addEventListener('click', () => {
  console.log(name)
});

非常感谢您的支持!

javascript axios
2个回答
0
投票

我建议使用这种代码格式一次,这对你有帮助

  let name = axios.post('/someUrl', {
      name: 'someName'
    })
      .then((response) => {
        return response.data.name;
      })
      .catch((error) => {
        console.log(error);
      });
          // doing other something
          return data;

你的名字将包含response.data.name


0
投票

您的代码在这里运行测试:https://jsfiddle.net/fvsn0ckh/

确保您的POST请求实际返回具有name属性的对象。您可以尝试将name更改为response.data而不是response.data.name并查看它显示的内容。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.