Параметры не отправляются с xmlhttprequest

Я пытаюсь отправить контент с помощью xmlHttpRequest со стороны клиента, но я не могу получить эти параметры на стороне сервера.

Установка параметров на стороне сервера и их получение на стороне клиента работает нормально, но когда я пытаюсь перейти на сторону сервера, параметры, которые я пытаюсь установить на стороне клиента, я всегда получаю пустое значение / undefined.

node.js server side response on req.params =
...
 ( params: [] } )
...

есть идеи, почему он не получает параметры на стороне сервера? На стороне сервера я использую app.post ('/ delete', function (req, res) {..), где я пытаюсь занести в console.log параметры req.params, которые должны быть установлены с помощью следующего кода на стороне клиента (но нет):

https://jsfiddle.net/user979979/ea2w1sn8/

Спасибо!


person user3339208    schedule 22.07.2017    source источник
comment
проверьте пакет body-parser, так как вы отправляете ajax, используйте bodyParser.json ()   -  person Bakhtiiar Muzakparov    schedule 22.07.2017
comment
Я думаю, вы не используете парсер тела или что-то вроде парсера тела для анализа данных. Нам будет легче помочь вам, если вы предоставите код на стороне сервера.   -  person Burdy    schedule 22.07.2017
comment
Спасибо за быстрые ответы, изначально я думал, что мне не понадобится body-parser, потому что в этом случае я просто пытался отправить строку. Я установил модуль body-parser, он работал нормально, но все равно никакой разницы в выводе; на стороне сервера параметры не принимаются. Вот мой серверный код: jsfiddle.net/user979979/xoom6fg3. Спасибо!   -  person user3339208    schedule 22.07.2017
comment
Хорошо, это привело меня к решению; Я обнаружил, что упустил из виду используемый мной формат application / x-www-form-urlencoded, который является форматом для кодирования пар ключ-значение. Итак, в моем контенте / параметрах мне нужно было разделить каждое значение ключа символом &, и каждый ключ отделен от своего значения символом =, и теперь он работает нормально. Спасибо!! :)   -  person user3339208    schedule 22.07.2017


Ответы (1)


Вам необходимо использовать промежуточное ПО BodyParser на стороне сервера. В вашем app.js импортируйте bodyparser import bodyParser from 'body-parser';

затем напишите app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false }));

Теперь вы получите параметры вашего сообщения в req.body и получите параметры в req.query.

person Ronn Wilder    schedule 22.07.2017