2017-04-24 6 views
0

私はちょうど私の$ httpの投稿をAngularで処理することができました。それは何をする必要がありますが、データを投稿してからページをリフレッシュすると、コンソールにこのエラーが表示されます:

おそらく未処理の拒否:{"data":null、 "status": - 1、 「null」、「null」、「null」、「jsonpCallbackParam」:「コールバック」、「url」:「/ insert」、「data」:

「config」:「メソッド」:「POST」、「transformRequest」:「null」、「transformResponse」:

これは私の角のポスト呼び出しです:

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

そして、これは私のMongoDBにExpress.jsで私のサーバー呼び出しです:

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

私のデータがdb – Larsmanson

+0

に正常に保存されているので問題ではないようですが、' res。 'のように '.save()'の後にステータス* 200 * .json(testObject); ' –

答えて

2

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

とし、バックエンドにしようと、どちらかMongoの操作を保存した後res.sendStatus(200);を使用するか、以下のように変更します。

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

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

res.sendStatus(200)で十分でした。それがトリックでした。あなたの助けをありがとう – Larsmanson

+0

ありがとう。 upvoteして助けてください。 –

関連する問題