Я искал, как отправить массив с моего переднего конца реагирования на мой узел / express. Мой первый метод был такой. Реагируйте:
saveUpdates = (clickEvent) => {
var list = [];
var length = this.props.title.length;
var tally = 0;
for (var i = 0; i < length; i++) {
tally = tally + 1;
var x = document.getElementById(tally).selectedIndex
var y = document.getElementById(tally).options
list.push(y[x].text)
}
const myHeaders = new Headers();
myHeaders.append('Authorization', localStorage.getItem('token'));
const newQuantity = new FormData();
newQuantity.append('quantity', list)
newQuantity.append('userID', localStorage.getItem('customerID'))
fetch('http://localhost:5000/updateQuantity', {
method: 'POST',
headers: myHeaders,
body: newQuantity
})
В этом методе я помещаю новые значения в мой список переменных, инициализированный как массив. Похоже, отправить на мой задний конец хорошо. Я console.log значение в узле, и мой массив выглядит следующим образом (этот конкретный экземпляр имеет только два элемента):
5,3
Проблема с этим заключается в том, что я в конечном итоге цикл по элементам этого массива в мой узел для использования в запросе mysql, и он считает запятую как элемент. Есть ли способ это исправить? Могу ли я как-нибудь переформатировать этот массив?
Мой другой вариант - установить массив списка в состояние и отправить состояние через заголовок. Вот как я это сделал:
this.setState({totalQuantity: list})
const myHeaders = new Headers();
myHeaders.append('Authorization', localStorage.getItem('token'));
const newQuantity = new FormData();
newQuantity.append('quantity', this.state.totalQuantity)
newQuantity.append('userID', localStorage.getItem('customerID'))
fetch('http://localhost:5000/updateQuantity', {
method: 'POST',
headers: myHeaders,
body: newQuantity
})
Этот код очень похож на первый метод. Однако здесь я устанавливаю свой массив списков в состояние (элемент состояния totalQuantity инициализируется как массив), а затем отправляю состояние через заголовок. Тем не менее, когда я делаю это и console.log результат в моем запросе пост узла, я получаю пустую строку. Кажется, ничего не посылает. Он даже не говорит undefined или null, а просто печатает пустую строку (я проверял печать строк выше и ниже). Является ли любой из этих методов приемлемым для отправки массива с реакции на узел через заголовок? Если да, какие настройки я могу внести, чтобы исправить эти проблемы?