无法在NodeJS中从Angular应用中获取POST数据
Can't get POST data in NodeJS from Angular app
我无法从我从Angular应用程序中制作的POST方法中获得参数。我试图在这里寻找答案,甚至复制/粘贴一些示例,但似乎没有任何作用。
Node代码:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static('public_html'));
app.post('/test', function (request, response) {
console.log(request.body.name)
response.status(201).json(request.body.name);
});
app.listen(8787,function() {
console.log('Listening on 8787');
});
Angular代码:
美元范围。postData = function() {
$http.post('/test',{name: $scope.name}).success(function(data,status) {
console.log('SUCCESS: ' + status);
console.log(data);
}).error(function(error) {
console.log('ERROR');
console.log(data);
})
}
我可以在开发人员工具的网络面板上看到数据被发送,我甚至得到了201的http代码,但我没有得到回复。在NodeJS的post路由的console.log()中,我也没有定义。似乎身体解析器不工作或我错过了其他东西。
angular的$http.post
函数将发送一个JSON body,而不是一个urlencoded body。
添加这个中间件来解析JSON对象:
app.use(bodyParser.json());
我也遇到过同样的问题,我是这样解决的。
修改这部分
response.status(201).json(request.body.name);
response.write(request.body.name);
response.end();
相关文章:
- 如何在php文件中获取$.post-ajax传递的值
- 如何从HTTP上下文对象中获取Post数据
- 如何使用Javascript获取POST请求填充的元素的值
- 以json形式获取post-response
- 可以'当window.location.href时,无法从javascript获取post值
- AJAX请求php获取post/get发送的指定目录中服务器上的文件列表(无JQUERY)
- PHP没有从$.ajax获取POST数据
- 获取post-jquery并在$_post中回显它(这可能吗?)
- 如何使用 AJAX 发送 POST 数据?以及如何在Web API中获取POST数据
- 如何从 Javascript AJAX 调用中获取 POST 值到 php
- 如何在jQuery中获取POST变量
- 从通过 echo 语句动态添加的表单元素中获取 POST 值
- 通过 AJAX 获取 POST 数据
- 通过 PHP 中的对象从提交按钮获取 POST
- 通过通知 URL 在 Meteor 中获取 POST 请求
- Meteor Iron路由器如何获取POST数据
- 如何通过javascript获取post()方法参数
- 在动态输入区域jquery中获取post数组以插入批代码点火器
- 如何将XMLHTTPRequest与POST和params一起正确使用?PHP未获取POST信息
- 如何在使用javascript提交表单之前获取POST内容