0

我是一个 node.js 初学者。并遵循 Manuel K 的“Node Beginner”一书中的练习。

并成功运行练习,直到第一个 POST 练习。50.

因此,这更像是一个浏览器配置问题:

显示表单的第一个 POST 练习是显示原始 HTML。发生在 Safari、Firefox、Chrome、Sea Monkey 中。我在网上搜索“原始 HTML 代码”,找到了一些答案,但都指向 cookie 和域。请记住,服务器位于:

 http://localhost:8888

我已经粘贴了书中的代码,所以我相当确定“内容类型”的东西是好的,它通过“执行”练习起作用。

我也检查了这里的“类似问题”并将继续浏览,但是...

这是相关的片段:

function start(response) {
    console.log("Request handler 'start' was called.");

    var body = '<html>'+
        '<head>'+
        '<meta http-equiv="Content-Type" content="text/html; '+
        'charset=UTF-8" />'+
        '</head>\n'+
        '<body>\n\t'+
        '<form action="/upload" method="post">\n\t'+
        '<textarea name="text" rows="20" cols="60"></textarea>\n\t'+
        '<input type="submit" value="Submit text" />\n'+
        '</form>'+
        '</body>'+
        '</html>';

        response.writeHead(200, {"Content-Type": "text/plain"});
        response.write(body);
        response.end();
}
4

1 回答 1

3

更改Content-Type您的回复:

response.writeHead(200, {"Content-Type": "text/plain"});应该response.writeHead(200, {"Content-Type": "text/html"});

您在响应正文中声明了正确的 DOCTYPE,但Content-Type标题是浏览器将用来确定如何显示响应的内容。

于 2013-08-09T13:45:53.373 回答