如何从 POST 获取查询字符串? [复制]

Posted

技术标签:

【中文标题】如何从 POST 获取查询字符串? [复制]【英文标题】:How do I get query string from a POST? [duplicate] 【发布时间】:2014-01-15 11:04:37 【问题描述】:

我正在使用node.js 0.10.22express 3.4.6

我想发送类似/upload?slides=2 的内容,然后获取slides 的值

我正在使用bodyParser 中间件。

我有这个:

app.get('/',function(req, res) 
    // show a file upload form
    res.writeHead(200, 'content-type': 'text/html');
    res.end(
        '<form action="/upload?slides=2" enctype="multipart/form-data" method="post">'+
        '<input type="text" name="title"><br>'+
        '<input type="file" name="upload" multiple="multiple"><br>'+
        '<input type="submit" value="Upload">'+
        '</form>'
    );
);

app.post('/upload',function(req,res)
    doLog("/upload","hit upload");
    //console.log(req);
    console.log("params = ");
    console.log(req.body);
    ...

在控制台中我只得到title: ''

或者我必须将参数放在表单中的其他位置吗?

【问题讨论】:

在 app.post() 中尝试console.dir(req) @rdodev 没有改变任何东西。 那么slides是什么,没有那个名字的元素吗?您是否正在尝试获取文件? @Houseman 当然在功能上不会改变任何东西,但它应该输出 req 结构,这就是你想要看到的。 @adeneo 不,我不是要获取文件。我正在尝试发送未包含在我要上传的文件中的额外信息 【参考方案1】:

使用后我得到了它的工作

console.dir(req)。从它的输出中,我看到了一个名为 query 的对象,里面有我的参数。

然后我打电话给 console.log(req.query.slides) 它返回了 2,这正是我想要的。

【讨论】:

那么,基本上您使用了我在 cmets 中的建议并决定自己发布答案? @rdodev 你没说req.query。你只给了我console.dir,我赞成你。回答您链接到的类似问题的人也没有提及req.query。事实上,提问者尝试使用req.query,但对他不起作用。 我建议你使用console.dir(req),但你立即解雇了我说“没有改变任何东西”。我必须向你解释你想看到的是req 的结构,因为那是你可能的答案所在,因为它不在req.body 中。那时你看到req.query 有你想要的内容。未能认识到如果没有这些提示,您将不会走那么远是您的特权。通常在这个网站上,当有人帮助你时,让他们提交答案并接受它是一种很好的礼仪。无论如何,你的问题现在已经解决了,这才是最重要的。 @rdodev 我随后立即解雇了"...I realized that I wrote it wrong, and now I get a giant object"。我知道没有你的小费我不会走到这一步。但事实就是如此。小费。这就是为什么我给你一个赞成票。你没有给我答案,你只是帮助我达到了它。如果你会提到req.query,我会要求你做出回答。

以上是关于如何从 POST 获取查询字符串? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SQLAlchemy 将查询结果传递给变量(作为字符串)? [复制]

Java如何保护http连接查询字符串URL请求传递和获取敏感数据? [复制]

如何从 NSTaggedPointerString 中获取字符串? [复制]

get和post

如何从 JavaScript 中的字符串中获取所有数字? [复制]

使用 Azure AD 在两者之间登录时,如何将查询字符串参数或 POST 数据传递到重定向站点?