如何访问通过 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'
}
最佳答案
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' }
关于jquery - 访问通过 Ajax Post 发送到 NodeJS 服务器的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18808930/