2017-04-24 42 views
0

我刚刚设法让我的$ http发布在Angular上工作。它做它需要做的事情,但是当我发布数据然后刷新页面时,它在控制台中给出了这个错误:

可能未处理的拒绝:{“data”:null,“status”: - 1, config“:{”method“:”POST“,”transformRequest“:[null],”transformResponse“:[null],”jsonpCallbackParam“:”callback“,”url“:”/ insert“,”data“:

这是我的角度支柱电话:

app.controller('ContactCtrl', function($scope, $http){ 
    $scope.formModel = {}; 
    $scope.onSubmit = function(){ 
    $http.post('/insert', $scope.formModel) 
    console.log('success'); 
    }; 
}); 

这是Express.js我的MongoDB我的服务器调用:

router.post('/insert', function(req, res, next){ 
    var item = { 
    name: req.body.name, 
    adress: req.body.adress, 
    postal: req.body.postal, 
    city: req.body.city, 
    email: req.body.email, 
    phone: req.body.phone, 
    quotation: req.body.quotation, 
    message: req.body.message 
}; 

var data = new UserData(item); 
data.save(); 
console.log('Item inserted'); 

}); 
+0

'status“: - 1”'表示可能是网络问题。请检查mongodb连接。也请告诉'$ scope.formModel'对象 –

+0

这似乎不是问题,因为我的数据已成功存储在分区 – Larsmanson

+0

中,那么您没有在'.save()'后面发回状态* 200 *就像'res .json(testObject);' –

回答

2

尝试

var BACKEND_URL = "http://whatever:port"; 
var postData = angular.toJson($scope.formModel, true); 
$http.post(BACKEND_URL + '/insert', postData); 

,并在后端,或者使用res.sendStatus(200);蒙戈保存操作后或修改如下图所示。

.save(function(err, result) { 
    if (err) throw err; 

    if(result) { 
     res.json(result) 
    } 
}) 
+0

res.sendStatus(200)就够了。那就是诀窍。感谢您的帮助 – Larsmanson

+0

谢谢。 upvote并接受,如果它有帮助。 –

相关问题