发布表单数据并在服务器中显示

时间:2014-03-21 11:01:34

标签: html forms node.js

我有一个简单的表单,我只想查看哪些字段发送到服务器。但在服务器端,我只获得<input type="text">字段值。为什么服务器无法获得<select><input type="file" />值?

HTML:

<form action="http://localhost:8100/" method="POST">
        <div>
            <select>
                <option value="op1" selected="selected">Option1</option>
                <option value="op2">Option2</option>
            </select>
        </div>

        <div>
            <input type="file" value="select a file"/>
        </div>

        <div>
            <label>Your Hero: </label><input type="text" name="hero" />
        </div>

        <input type="submit" value="submit" />
    </form>

服务器:

var http = require("http");

http.createServer(function(req, res) {
        if (req.method == 'POST') {
            var body = '';
            req.on('data', function (data) {
                body += data;
                console.log(body);
            });
            req.on('end', function () {
                console.log("request data complete");
            });
            res.end("post request");
        } else {
            res.end("get request");
        }

    }).listen(8100);

2 个答案:

答案 0 :(得分:1)

您的selectfile input元素缺少name属性。您希望提交的所有表单元素都必须具有唯一的name属性。 name属性将是通过POST和GET提交数据时元素值的标识符。

您可以在此处的规范中阅读相关内容:http://www.w3.org/TR/html5/forms.html#naming-form-controls:-the-name-attribute

答案 1 :(得分:1)

我想你忘了这个表格中的“名字”属性。添加它,它应该工作。干杯