使用axios发送表单数据

Posted

技术标签:

【中文标题】使用axios发送表单数据【英文标题】:Using Axios to send form data 【发布时间】:2018-12-24 04:26:52 【问题描述】:

只是想知道是否可以从 html 表单元素序列化数据,然后使用 Axios 的发布请求发布数据。

下面的代码显示了在单击按钮以提交帖子时触发的事件。

function form_submission(e)

var data = document.getElementById('venueForm');

axios.post('/venue/', 


)
    .then (function (response) 
        console.log(response);
    )
    .catch(function (error) 

        console.log(error);
    );

这是显示如何选择数据的 html

<form method="POST" action="http://core-site.test/venue/$venue->slug_field" accept-charset="UTF-8" id="venueForm">

是序列化一个选项还是我必须手动设置每个值?

【问题讨论】:

【参考方案1】:

javascript 中使用 FormData 类:

var form = document.querySelector('form');
var data = new FormData(form);
axios.post('/example', data);

【讨论】:

给我这个错误:Uncaught TypeError: Failed to construction 'FormData': parameter 1 is not of type 'HTMLFormElement'。

以上是关于使用axios发送表单数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 axios 发送数组和表单数据 - Vue

如何使用 js 或 axios 将表单数据中的 url 作为文件发送

axios发送post请求,如何提交表单数据?

vue填坑 让axios发送表单形式数据

插入并放入nodeJs + express api时,带有Redux Saga的Axios不发送表单数据

axios提交表单后发送的请求过多