Как передать массив jsons из раздела скрипта html файла в индекс javascript?

У меня есть массив jsons, созданный в html-файле, который я хотел бы передать на сервер. Когда я распечатываю массив в консоли непосредственно перед попыткой отправить результаты POST, все отображается нормально. Вот содержимое того, что я пытаюсь передать, которое содержится в переменной с именем results:

0: {id: 02934, uName: "Ben", favFood: "ice cream"}
1: {id: 02474, uName: "Sam", favFood: "ice cream"}
2: {id: 01582, uName: "Jamie", favFood: "broccoli"}

Но когда я захожу в req.body, я обнаруживаю, что массив, который я пытаюсь передать, имеет неопределенные переменные: Как передать массив jsons из раздела скрипта html файла в индекс javascript?

Я пытаюсь отправить данные через вызов jQuery, показанный ниже:

$("#sendResults").click((event) => {
    console.info(results);
    $.ajax({
         url: '/entertimes',
         type: 'POST',
         data: results
    });                    
});

Моя цель — передать данные на сервер так, чтобы ими было легко манипулировать, то есть если бы я набрал console.info(req.body.results[0]), он распечатал бы содержимое json в этот момент.


Примечание: если я обновлю код до того, что у меня есть ниже, я смогу получить строку массива json, которую я потенциально мог бы проанализировать, чтобы получить информацию. Однако я хочу избежать его разбора, если есть более простой способ:

$("#sendResults").click((event) => {
    console.info(results);
    $.ajax({
         url: '/entertimes',
         type: 'POST',
         data: {results: JSON.stringify(results)}
    });                    
});
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
82
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Когда вы передаете данные с/на сервер и клиентскую сторону всегда в формате json. JSON — это строка. Когда вы отправляете данные, следует использовать JSON.stringify() и JSON.parse(), чтобы использовать json как объект.

https://en.wikipedia.org/wiki/JSON

Есть ли у вас какие-либо советы о том, как разобрать результирующую строку из JSON.stringify()? Из-за того, как отформатирован объект req.body.results, я не могу просто вызвать JSON.parse(results).

Vincent Lauffer 02.04.2019 07:17

похоже, вы плохо форматируете объект json. Это правильный формат [{"foo": 1}, "bar": "some"]

Eduardo Garcia 02.04.2019 16:15

Другие вопросы по теме