Данные POST, полученные на сервере node.js, возвращаются клиенту как неопределенные - PullRequest
0 голосов
/ 10 июля 2011

Я начинаю изучать node.js.Я следую этому учебнику и столкнулся с проблемой, когда некоторые данные POST получены правильно, но когда они возвращаются клиенту, они становятся "неопределенными".

Вот коддля получения данных POST (это, кстати, Coffeescript):

postData = ""
request.setEncoding "utf8"
request.addListener "data", (postDataChunk) ->
  postData += postDataChunk
  console.log "Received POST data chunk '" + postDataChunk + "'."

request.addListener "end", ->
  console.log "postData at end: " + postData
  POST = qs.parse postData
  console.log POST

route handle, pathname, response, POST.text

Текст POST отправляется в функцию маршрутизации вместе с объектом ответа.Код там:

upload = (response, postData) ->
  console.log "Request handler 'upload' was called"
  console.log "post data in upload: " + postData
  response.writeHead 200, "Content-Type": "text/plain"
  response.end "You sent: " + postData

В выводе консоли PostData настроен правильно, но когда я просматриваю вывод в браузере, он всегда говорит «Вы отправили: undefined»

МожетКто-нибудь, помогите мне понять, что происходит не так?

1 Ответ

0 голосов
/ 10 июля 2011

Вам нужно посмотреть POST.text внутри обратного вызова end. Вместо console.log POST сделайте console.dir POST и посмотрите, определено ли для объекта POST свойство с именем text. Я думаю, это не так. Если нет, зарегистрируйте необработанную строку postData и посмотрите, не соответствует ли она ожиданиям.

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