在node.js服务器中收到的POST数据作为undefined返回给客户端

时间:2011-07-09 21:51:12

标签: node.js coffeescript

我开始学习node.js.我正在关注this tutorial并且遇到了一些问题,其中一些POST数据被正确接收但是当它返回到客户端时,它变为“未定义”。

这是获取POST数据的代码(这是Coffeescript btw):

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设置正确,但当我在浏览器中查看输出时,它总是会说“你发送:未定义”

任何人都可以帮我理解出了什么问题吗?

1 个答案:

答案 0 :(得分:0)

您需要查看end回调中的POST.text。执行console.log POST而不是console.dir POST,并查看POST对象是否定义了名为text的属性。我的猜测是没有。如果没有,请记录原始的postData字符串,看看它是否不是您所期望的。