【问题标题】:Value of request params is empty if i use = symbol with request value如果我使用 = 带有请求值的符号,则请求参数的值为空
【发布时间】:2013-10-08 11:11:18
【问题描述】:

我正在开发使用 express 框架的 node.js 项目。 我的应用程序将处理一堆 POST 请求。我的帖子请求之一如下

网址

POST /processit 

请求参数

info={"one":"a=5"}

node.js 代码

     var express = require('express');
       var app = express();
       app.use(express.bodyParser());
       app.post('/processit', function(req, res) {
         console.log(req.body);
         res.type('text/plain');
         res.send('Testing !');
      });

   app.listen(process.env.PORT || 3000);

在 node.js 日志中我得到了响应

{}

但是如果我将请求参数从 info={"one":"a=5"} 更改为 info={"one":"ab5"} 我会得到 ​​p>

info={"one":"ab5"}

在 node.js 日志中。

不知道是不是我做错了什么

屏幕截图:

提前致谢。

【问题讨论】:

  • 该正文应该是什么格式? bodyParser应该如何处理?
  • 目前我使用的是纯文本。
  • @Nagarajan 我也无法复制它。它们都可以在没有任何标题信息的情况下正常工作。当我将标题更改为application/json(我不得不减少info=)时,它仍然可以正常工作。
  • @thefourtheye 我附上了我的截图。我不知道我在这里做错了什么! .当我使用 info={"one":"ab5"} 我得到第一个响应 {} 。后来当我使用 info={"one":"ab5"} 时,我得到了我所期望的响应!
  • 您能否向我们展示(屏幕截图/邮政编码)info={"one":"a=5"} 的请求是什么样的?我原以为您会将此作为body 发送,而不是作为参数发送。

标签: javascript json node.js express


【解决方案1】:

我怀疑你的问题在于你的 Eclipse 测试工具是如何编码的。

尝试从命令行使用 curl 或此 Chrome 插件执行 POST:https://chrome.google.com/webstore/detail/rest-console/cokgbflfommojglbmbpenpphppikmonn?hl=en

【讨论】:

    猜你喜欢
    • 2015-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 2021-01-15
    • 1970-01-01
    相关资源
    最近更新 更多