我有一个注释表单,该表单接受一些文本输入,并通过AJAX发送POST请求以创建新注释。
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
data: [],
.
.
}}}
render() {
const { data, currentPage, itemsPerPage } = this.state;
const indexOfLastItem = currentPage * itemsPerPage;
const indexOfFirstItem = indexOfLastItem - itemsPerPage;
const currentItems = data.slice(indexOfFirstItem, indexOfLastItem);
const renderTour = currentItems.map((item, i) => {
return <form action='' onSubmit={e => this.handleSubmit(e, item, i)} method="post">
.......
</form>
})}
handleSubmit = (e, element, val) => {
e.preventDefault();
var productid = element.id
if (typeof productid === 'string') {
var return_Edit = function () {
var tmp = null;
$.ajax({
'async': false,
'type': "POST",
'global': false,
'dataType': 'html',
'url': "index.bc",
'data': // ???? - Need to figure out how to serialize data here,
'success': (response) => {
tmp = response;
}
});
return tmp;
}();
}}
我需要序列化表单数据以与POST请求一起发送,但是我不确定如何发送。我知道在JQuery中我可以选择form元素并做类似$("#my_form").serialize()
的操作,但是我似乎无法从React组件内部调用它。
有没有办法解决这个问题,让我在ReactJS中序列化表单数据?