我是初学者......用angular node和mysql创建一个crud应用程序
出于某些原因,我无法获取console.log(request.body.name)
或console.log(request.body.description)
这样的数据我得到505错误..就好像我只是打印console.log('any message')
这样会显示而没有任何错误
我在按钮上绑定ng-click="editProductCategory()"
bewlow是editProductCategory()
方法
$scope.editProductCategory = function (){
productCategoryService.updateProductCategory($scope.productCategoryData, productCategoryService.getIdFromUri())
.success(function (data) {
if(data && data.status && data.status == 'successful'){
alert('updated successfully');
}
})
.error(function (err, status) {
console.log('********************************');
console.log(err);
console.log('-------------------------------');
console.log(status);
console.log('********************************');
});
}
这是我的productCategoryService.updateProductCategory
updateProductCategory: function (productCategory, productCategoryId) {
console.log(productCategory.name);
console.log(productCategory.description);
console.log(productCategoryId);
return $http.post('/updateProductCategory', {
name: productCategory.name,
description: productCategory.description,
categoryId: productCategoryId
});
}
这是路线配置
this.routeTable.push({
requestType: 'post',
requestUrl: '/updateProductCategory',
callbackFunction: function(request, response)
{
console.log('/******* arrived successfully ********/');
//console.log(request.body.description + " no errors");
//console.log(request.param());
response.json()
}
});
this.routeTable.forEach(function(route){
if(route.requestType == 'get')
{
this.app.get(route.requestUrl, route.callbackFunction)
}
else if(route.requestType == 'post' || route.requestType == 'POST ')
{
this.app.post(route.requestUrl, route.callbackFunction);
}
else if(route.requestType == 'delete'){}
});
任何想法?
答案 0 :(得分:0)
$http.post
会将您的数据作为JSON发送,因此如果您使用的是Express,则需要使用bodyParser中间件来解析请求正文。
var express = require('express')
var app = express.createServer();
app.use(express.bodyParser());