我开始学习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设置正确,但当我在浏览器中查看输出时,它总是会说“你发送:未定义”
任何人都可以帮我理解出了什么问题吗?
答案 0 :(得分:0)
您需要查看end
回调中的POST.text。执行console.log POST
而不是console.dir POST
,并查看POST对象是否定义了名为text
的属性。我的猜测是没有。如果没有,请记录原始的postData字符串,看看它是否不是您所期望的。