【问题标题】:posting data with Axios使用 Axios 发布数据
【发布时间】:2017-09-14 23:48:15
【问题描述】:

我需要使用这样的代码:

vr1 = 'firstName'
value1 = 'Fred'
vr2 = 'lastName'
value2 = 'Flinstone'

axios({
  method: 'post',
  url: '/user/12345',
  data: {
     vr1: Value1,
     vr2: Value2
  }
});

所以,它会和执行一样:

axios({
  method: 'post',
  url: '/user/12345',
  data: {
    firstName: 'Fred',
    lastName: 'Flintstone'
  }
});

这可以使用 Java Script 6 吗?

【问题讨论】:

    标签: javascript post axios


    【解决方案1】:

    您可以创建自己的对象并将其传递给您的数据请求,如下所示:

    var obj = {
      [myKey]: value,
    }
    
    or 
    
    var obj = {};
    obj['name'] = value;
    obj['anotherName'] = anotherValue;
    

    Creating object with dynamic keys

    Dynamically Add Variable Name Value Pairs to JSON Object

    已编辑:如何发布请求

    const profile = {};
    //...fill your object like this for example
    profile[key] = value;
    
    axios.post('profile/student', profile)
      .then(res => {
        return res;
      });
    

    【讨论】:

    • 但是,我如何使用 Axios 发送该对象?文档对此只字未提。最后发送的数据必须变成 JSON 以便服务器理解
    • 我不明白问题出在哪里。我又添加了一个例子。希望对你有用
    • 问题是发布的教程使用,而不是像你一样的对象变量,他们使用 {... } 来表示对象,有时它让我对编程块感到困惑。谢谢!
    【解决方案2】:

    也试试这个并替换

    baseURL
    与您自己的主机名 url
    import axios from 'axios'
    
    let var1 = 'firstName'
    let value1 = 'Fred'
    let var2 = 'lastName'
    let value2 = 'Flinstone'
    
    const api = axios.create({baseURL: 'http://example.com'})
    api.post('/user/12345', {
        var1: value1,
        var2: value2
    })
    .then(res => {
         console.log(res)
    })
    .catch(error => {
         console.log(error)
    })
    

    【讨论】:

      【解决方案3】:

      试试这个对我有用

      const obj = {
        firstName: Fred,
        lastName: Flinstone
      }
      axios
        .post(
          "url",
          this.obj,
        )
        .then(response => {
          console.log(response)
        })
        .catch(error => {
          console.log(error);
        });

      【讨论】:

        【解决方案4】:

        要使键动态化,请将它们括在括号中 []

        vr1 = 'firstName'
        value1 = 'Fred'
        vr2 = 'lastName'
        value2 = 'Flinstone'
        
        axios({
          method: 'post',
          url: '/user/12345',
          data: {
             [vr1]: Value1,
             [vr2]: Value2
          }
        });
        

        【讨论】:

          猜你喜欢
          • 2019-04-12
          • 2018-07-18
          • 2023-03-15
          • 2018-12-25
          • 2020-05-18
          • 2021-02-16
          • 2017-06-05
          • 2023-02-04
          • 2020-04-03
          相关资源
          最近更新 更多