【问题标题】:Access Data Sent to NodeJS Server via Ajax Post访问通过 Ajax Post 发送到 NodeJS 服务器的数据
【发布时间】:2013-09-19 11:25:51
【问题描述】:

如何访问通过 Ajax POST 发送到 Nodejs 服务器的数据?

    //Client
$.ajax( {
    url: '/getExp',
    data: 'Idk Whats Rc',
    type: 'POST',
});

//Server
app.post('/getExp', function(req, res){
    var data = req.???; //I want data to be equal to 'Idk Whats Rc'
}

【问题讨论】:

标签: jquery ajax node.js post


【解决方案1】:

Express 4.x:

Express 4 不再包含 Connect 作为依赖项,这意味着您将需要单独安装正文解析模块。

解析器中间件可以在其自己的 GitHub 存储库here 中找到。可以这样安装:

npm install body-parser

对于表单数据,这就是中间件的使用方式:

var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded());

对于 Express 3.x 及之前版本:

您需要在 Express 中使用 bodyParser() 中间件来解析您的 HTTP 请求的原始正文。然后中间件填充req.body。

app.use(express.bodyParser());
app.post('/path', function(req, res) {
  console.log(req.body);
});

您可能希望将一个对象而不是字符串传递给您的 POST 请求,因为您当前拥有的内容将如下所示:

{ 'Idk Whats Rc': '' }

使用有点像这样的代码:

$.ajax({
  url: '/getExp',
  data: { str: 'Idk Whats Rc' },
  type: 'POST',
});

会给你这个:

{ str: 'Idk Whats Rc' }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    相关资源
    最近更新 更多