我将首先向您展示我的代码
角色代码:app.js
$scope.submit = function(){
$scope.jsonData={
"status":"OK",
"data":{
"nbOperatorPresent": $scope.nbOperatorPresent,
"objectif1stHour": $scope.objectif1stHour,
"objectif2ndHour": $scope.objectif2ndHour,
"objectif3rdHour": $scope.objectif3rdHour,
"objectif4thHour": $scope.objectif4thHour,
"objectif5thHour": $scope.objectif5thHour,
"objectif6thHour": $scope.objectif6thHour,
"objectif7thHour": $scope.objectif7thHour,
"objectif8thHour": $scope.objectif8thHour
}
}
$http.post("http://localhost:5000/settings",
JSON.stringify($scope.jsonData)).success(function(data,status){
console.log('success')
})
}
NodeJs代码:index.js
app.post('/settings',urlencodedParser,function(req,res){
console.log(req.body)
})
如您所见,我有一个按钮来提交用户插入的数据并将其发送到服务器。
我的问题是,当我点击提交时,我的浏览器控制台中没有任何内容,我的意思是console.log('Success !')
无法正常工作,也就是说.success(function(data,status))
内部的所有代码都赢了& #39;执行所以我无法通知用户他已成功提交,我不知道问题来自哪里!!
但是在另一个控制台console.log(req.body)
中,我找到了从 Angular 传递的所有数据。
任何人都可以向我解释这个吗?我尝试过其他解决办法,但总是遇到同样的问题:(
答案 0 :(得分:1)
您没有从node.js代码返回任何内容。您需要添加返回数据,如:
app.post('/settings',urlencodedParser,function(req,res) {
console.log(req.body)
res.send("Success")
})
答案 1 :(得分:1)
扩大答案......
请注意,如果您不熟悉节点和表达,您可能希望养成返回的习惯
res.send(success: true, data: res).end()
它在角度或UI方面非常典型,能够解析为response.data对象。只是一个建议。
并改为:
.success(function(res,status){
console.log(res.success, res.data)
})
这是一种非常常见的架构,尤其是在处理您无法控制的Web服务时。