如何将对象传递给axios.post以处理Vue Component中的请求?

时间:2019-07-07 19:44:11

标签: object vue.js axios laravel-5.6

我正在尝试通过axios.post传递对象。但显然,我的做法是错误的。我收到此错误

Error: "Request failed with status code 500"

当我将数据作为普通字符串发送时,我没有任何问题。

我的axios.post代码看起来像这样

axios.post('/api/send', {
  contactInfo: this.contactInfo
  })
    .then(function (response) {
     console.log(response.data);
     })
     .catch(function (error) {
      console.log(error);
      });

我的contactInfo对象就是这样...

export default {
        name: 'app',
        data() {
            return {

                contactInfo: {
                    email: 'test@test.com',
                    mobile: '11112222'
                }

            }
        },

3 个答案:

答案 0 :(得分:0)

这是我使用axios c时要做的事情:

使用FormData并使用.set方法添加数据,如下所示:

// Declare the body
let formData = new FormData ()
// Add data to body
formData.set('name1', variable1)
formData.set('name2', variable2)
// Request
axios.post('url', formData).then(response => {
  // Do something
}).catch(error => {
  // Do something
})

答案 1 :(得分:0)

传递数据的最佳方法是使用this。$ data

axios.post('url', this.$data)
  .then(function (response) {
    console.log(response);
    })
     .catch(function (error) {
      console.log(error);
      });

答案 2 :(得分:0)

响应代码为500,所以我认为问题出在您的服务器上。