首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在node.js服务器上使用HTML5时,帖子的主体似乎是未定义的

在node.js服务器上使用HTML5时,帖子的主体似乎是未定义的
EN

Stack Overflow用户
提问于 2019-07-17 16:14:09
回答 1查看 29关注 0票数 0

我使用HTML5表单发出POST请求。但是当我在我的node.js req.on("readable", function(data))上收到请求时,data is undefined

这是我的HTML 5:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
...
<body>
    <form method="POST" action="http://localhost:3000">
        <input id="user" type="text" readonly/>

        <label> Test1
            <input type="number" name="work" min="0" max="10" required />
        </label>
        <label> Test2
            <input type="number" name="buero" min="0" max="10" required />
        </label>
        <input type="submit" />
    </form>
</body>
...
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http.createServer((req, res) => {
...
let fileResult = readFileSync("./Result.html", { encoding: "utf8" })
        let body = "";
        req.on("data", (d) => {
            body += d;  // BreakPoint1
        })
        req.on("readable", function (d) {
            body += d;  // BreakPoint2
        })
        req.on("end", () => {
            handlePostData(JSON.parse(body))
        })
        res.writeHead(200, { "Content-Type": "text/html" });
        res.write(fileResult)
        res.end();
...

我想知道为什么它只会遇到BreakPoint2,我还以为它会遇到BreakPoint1呢。但当它遇到BreakPoint2时,d就是undefined

如果我将method更改为GET,req.url将如预期的那样。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-17 16:19:57

readable事件不向回调提供数据。您必须使用this.read()手动获取它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57080261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文