node.js - node express的bodyParser获取不到GET请求中的参数

标签 node.js parameters get express

我在客户端发送一个 GET 请求:

$.ajax({
        url: '/update',             
        type: 'get',    
        data: {
            "key": key,
            "value": value
        },
        success: function (data, err) {

        }
    })

然后在 Node 端,我要获取参数

var showParam = function (req, res) {
    if (req.body) {
        for (var key in req.body) {
            console.log(key + ": " + req.body[key]);
        }       
        res.send({status:'ok',message:'data received'});
    } else {
        console.log("nothing received");
        res.send({status:'nok',message:'no Tweet received'});
    }   
}
app.get('/update', function(req, res){
    showParam(req, res);
})

shell 显示 body 是空的和未定义的。

但是当我将 get 更改为 post (在客户端和服务器端),一切正常,我可以正确获取参数。

我的代码有什么问题?我错过了什么吗?

最佳答案

如果您发出 GET 请求,URL 参数不是正文的一部分,因此不会被 bodyParser 中间件解析。

要访问查询参数,只需引用 req.query

关于node.js - node express的bodyParser获取不到GET请求中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14011806/

相关文章:

python - help() 列出方法签名时斜线是什么意思?

java - 使用 Gson 的 GET 请求(java)

python - GET 查询字符串值中的 (u'',) 是什么原因以及为什么它被正确解析?

没有名称的 Javascript ES6 导入

javascript - 将 Node.js 与本地服务器相结合

node.js - npm 错误 "Could not resolve dependency: npm ERR! peer webpack@"5.x.x“来自 @webpack-cli/serve@2.0.5”

javascript - 如何使用 Node js将多个请求(?)对象发送到浏览器

django - 在 Django REST Framework 中使用 url 传递查询

delphi - 如何使用参数调用Word宏

jquery - 如何从 .ajax GET 的结果添加可拖动列表项?