Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.09.2015, 11:36
Новичок на форуме
Отправить личное сообщение для Vladimirtishenko Посмотреть профиль Найти все сообщения от Vladimirtishenko
 
Регистрация: 16.11.2013
Сообщений: 7

POST в NodeJS+Express
Всем привет вот уже второй день борюсь в Express Не могу нормально принять POST.

Модель:
Contacts.prototype.sendMessage = function(datas) {

    var xhr = this.xhr(),
        url = "/send_msg";

    var data = new FormData();
    data.append("text", datas.text);
    data.append("user_id", datas.userId);
    data.append("friends", datas.friend);


    xhr.onreadystatechange = function() {
        if (xhr.status == 200 && xhr.readyState == 4) {
            window.postMessage({
                sendImages: true
            }, "*");
        }
    }

    xhr.open("POST", url, true);
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send(data);


}


app.js:

Скопировал то что нужно не стал вставлять весь код.

var jsonParser = bodyParser.json()
var urlencodedParser = bodyParser.urlencoded({ extended: false })

app.post('/send_msg', urlencodedParser, function(req, res, next){
  console.log(typeof req.body);
  console.log(req.body);
});


Пробовал уже разными способами, даже без присвоение переменным парсера. в Extended писал значение true. Ну и многое другое что связано с bodyParser.

Вывод консоли:

http://joxi.ru/5mdGJ9RuXdRyr1

typeOf говорит что это обьект но доступа к его свойствам нет.
Если пробовать парсить как стороку и обрабатывать через IndexOf тоже не дает...

Как быть кто может посоветовать?
Ответить с цитированием
  #2 (permalink)  
Старый 01.10.2015, 20:43
Интересующийся
Отправить личное сообщение для werty1001 Посмотреть профиль Найти все сообщения от werty1001
 
Регистрация: 21.12.2012
Сообщений: 23

Я не уверен, но скорей всего дело в new FormData() .
Цитата:
FormData использует такой же формат на выходе, как если бы мы отправляли обыкновенную форму с encoding установленным в "multipart/form-data".
А bodyParser multipart не понимает.
Ответить с цитированием
  #3 (permalink)  
Старый 02.10.2015, 21:15
Аватар для deivan
Профессор
Отправить личное сообщение для deivan Посмотреть профиль Найти все сообщения от deivan
 
Регистрация: 02.08.2012
Сообщений: 293

какая-то странная у вас инициализация бодипарсера..
а почему не:
var bodyParser   = require('body-parser');
...
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
...
app.get( '/', routes.index);

?...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Правильный ли подход к разработке на NodeJS с Express? Sanu0074 Node.JS 0 25.08.2015 16:04
express 4 domains нужно? nodejs падает? Gozar Node.JS 3 19.06.2015 01:20
ошибка при вызове из консоли глобального модуля express в node.js в windows 8.1 jazznet AJAX и COMET 1 16.06.2015 10:30
Jquery ajax в Operа к ASP.NET скрипту по таймеру, IIS выдает 403.9 Zhirinovsky AJAX и COMET 0 23.02.2012 12:56
Comet: NodeJS - с чего начать разработку? Vulkan AJAX и COMET 13 27.11.2010 19:25