Почему мой http-ответ добавляет неопределенное значение в начало полезной нагрузки моего запроса? - PullRequest
0 голосов
/ 31 октября 2018

У меня есть сервер node.js, отвечающий на запрос HTTP и вход по электронной почте. Когда я получаю полезную нагрузку запроса, я получаю намеренный ввод по электронной почте с неопределенным в начале: "undefinedcrosati@gmail.com"

Маршрут моего сервера выглядит следующим образом:

else if (request.url === '/email'){
    var email_Addr
    request.on('data', (data)=>{ // adding chunks of data to request body
        email_Addr += data.toString();
        console.log('server stream email', email_Addr) // results in "undefinedcrosati@gmail.com"
    });
    request.on('end',(data)=>{
        console.log(email_Addr) // results in "undefinedcrosati@gmail.com"
        emailData(email_Addr)
    });

    response.write('Email Data')
    response.end(email_Addr)
}

В клиентском приложении я вижу заголовок http в инструментах chrome dev, как я намеревался его отправить, например: crosati@gmail.com.

Поскольку я просто превращаю буфер в строку, я больше ничего не делаю с данными. Что здесь происходит?

1 Ответ

0 голосов
/ 31 октября 2018

Определите вашу переменную email_Addr как пустую строку, если вы хотите добавить строки к ней:

var email_Addr = '';

В противном случае эта переменная равна undefined, и если вы обрабатываете ее как строку, Node преобразует переменную в строку «undefined».

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