当前位置: 首页 > 面试题库 >

JavaScript如何检索POST查询参数?

秦育
2023-03-14
问题内容

这是我的简单表格:

<form id="loginformA" action="userlogin" method="post">
    <div>
        <label for="email">Email: </label>
        <input type="text" id="email" name="email"></input>
    </div>
<input type="submit" value="Submit"></input>
</form>

这是我的Express.js/Node.js代码:

app.post('/userlogin', function(sReq, sRes){    
    var email = sReq.query.email.;   
}

我尝试过sReq.query.emailsReq.query['email']sReq.params['email'],等等。它们都不起作用。他们都回来了undefined

当我更改为Get呼叫时,它可以工作,所以..有什么想法吗?


问题答案:

事情已经改变了再次启动快速4.16.0,您现在可以使用express.json()express.urlencoded()就像在快车3.0。

从Express 4.0到4.15,这是不同的:

$ npm install --save body-parser

然后:

var bodyParser = require('body-parser')
app.use( bodyParser.json() );       // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({     // to support URL-encoded bodies
  extended: true
}));

其余的就像在Express 3.0中一样 :

首先,您需要添加一些中间件来解析正文的发布数据。

添加以下两行代码之一或全部:

app.use(express.json());       // to support JSON-encoded bodies
app.use(express.urlencoded()); // to support URL-encoded bodies

然后,在处理程序中,使用req.body对象:

// assuming POST: name=foo&color=red            <-- URL encoding
//
// or       POST: {"name":"foo","color":"red"}  <-- JSON encoding

app.post('/test-page', function(req, res) {
    var name = req.body.name,
        color = req.body.color;
    // ...
});

请注意,express.bodyParser()不建议使用。

app.use(express.bodyParser());

…相当于:

app.use(express.json());
app.use(express.urlencoded());
app.use(express.multipart());

存在与html" target="_blank">安全性有关的问题express.multipart(),因此最好为所需的特定编码类型显式添加支持。如果您确实需要分段编码(例如,以支持上传文件),则应阅读。



 类似资料:
  • 问题内容: 这是我的简单表格: 这是我的Express.js /Node.js代码: 我试过或或,等等。它们都不起作用。他们都回来了。 当我更改为Get呼叫时,它可以工作,所以..有什么想法吗? 问题答案: 事情已经改变了再次启动 快速4.16.0 ,您现在可以使用与就像在 快车3.0 。 从 Express 4.0到4.15,* 这是不同的: * 然后: 其余的就像在 Express 3.0中一

  • 本文向大家介绍Android 检索查询参数,包括了Android 检索查询参数的使用技巧和注意事项,需要的朋友参考一下 示例 如果用户点击一个linkto http://www.example.com/map?param1=FOO&param2=BAR,那么param1这里将有一个价值"FOO"和param2将有一个价值"BAR"。

  • 问题内容: 对于内,怎么可以检索参数? 对于上面的简单示例,应为 但是它也应该适用于复杂的querystrngs … 问题答案: 与window.location对象。此代码为您提供了没有问号的GET。 从您的示例它将返回 编辑 :我自由地更改了Qwerty的答案,这确实很好** ,正如他指出的,我完全遵循OP的要求: 我从他的代码中删除了重复的函数执行,将其替换为变量(tmp),并且按照OP的要

  • 问题内容: 有谁知道从HttpServletRequest对象仅获取POST参数的方法吗? IE,PHP具有$ _POST超全局变量,并且Perl的CGI.pm仅在HTTP方法为POST(默认情况下)时才检索POST参数。 HttpServletRequest.getParameter(String)将包括 得到 URL参数,即使HTTP方法是POST。 问题答案: 我猜一种方法可能是手动解析并检

  • 我正在开发一个使用Spring Boot的项目。我有一个接受GET请求的控制器。 目前,我正在接受对以下类型URL的请求:

  • 我有一个基本的rest控制器,可以获取参数。 如果查询字符串包含我没有定义的参数,我如何拒绝连接? 当前,在调用此url时,只使用id执行该方法,而忽略未知的参数。一般来说,这很好,但我如何验证它们,以防返回HTTP状态码?