Вывод массива JSON в формате HTML не отформатирован должным образом - PullRequest
0 голосов
/ 04 декабря 2018

Я делал проект о бронировании билетов в кино, и каждый билет имеет определенный тип.Ранее я делал это с помощью PHP, и я генерировал форму для выбора типа заявки для каждого места с выбранным входом, подобным этому:

<select name="seats[D3]">

Затем я мог бы перебрать массив «мест» вPHP и, например, seat ["C3"] содержали значение "Student", и оно работало нормально.

Но теперь, когда я пытаюсь использовать JavaScript для своей серверной части вместо PHP, полученный запрос POSTbody больше не является словарем, связывающим номер места с его типом.Вместо этого я получаю что-то вроде этого:

{"seats[E1]":"Adult","seats[D2]":"StudentSenior"}

Вы можете ясно видеть, что у меня нет словарной структуры, скобочная запись не имеет никакого эффекта, и у меня есть только независимые переменные, в то время как я хотел бы получить что-то вродеэто:

{"seats":["E1":"Adult", "D2":"StudentSenior"]}

Я знаю, что могу просто прочитать каждую запись и проверить, начинается ли она с "seat [", а затем получить значение после нее, но мне просто странно, что PHP может использовать этот запрос формыпостроить массив и JavaScript не может ...

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 04 декабря 2018

Вы должны установить ваш анализатор тела urlencoded помощник на расширенный режим ...

var express = require('express')
var bodyParser = require('body-parser')

var app = express()

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: true })) // ? note "true"

Это устанавливает анализатор тела для использования qs библиотека, способная анализировать строки в скобках в объектах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...