[英]AngularJS $http.post json request to expressjs in pending status
我在嘗試發布到mongodb時遇到來自angularjs的待處理$ http.post請求表示問題。 我的app.js:
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.static(__dirname + '/public'));
app.use('/bower_components', express.static(__dirname + '/bower_components'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.methodOverride());
app.use(app.router);
我的route.js發布:
self.routeTable.push({
requestType : 'post',
requestUrl : '/getAllPrjProjections',
callbackFunction : function (request, response) {
console.log(request.body.pr_code);
console.log(request.body.high_low);
console.log(request.body);
var prjProjectionsDao = require('../Server/Dao/prjProjectionsDao.js');
prjProjectionsDao.create({
pr_code : request.body.pr_code,
high_low : request.body.high_low,
subs_rate : request.body.subs_rate,
prj_month : request.body.prj_month,
prj_value : request.body.prj_value,
last_saved : request.body.last_saved
}, function(err, todo) {
console.log(todo);
if (err) {
console.log('bbb');
response.send(err);
}
});
}
});
在控制器中,當用戶單擊saveProjections按鈕時,我實現以下功能:
$scope.saveProjections = function() {
$scope.prj_to_save = {"pr_code":"PGU","high_low":"HIGH","subs_rate":"Paid Subs","prj_month":"2016-10-01","prj_value":"96000","last_saved":"2016-12-07"};
var data_to_send = JSON.stringify($scope.prj_to_save);
prjProjectionsService.saveProjections($scope.prj_to_save).then(function(success) {
// $scope.formData = {};
console.log(data, 'Blog created.');
},function (error) {
console.log("The request failed: " + error.data);
});
};
注入的服務器如下:
function saveProjections(prjData){
return $http.post('/getAllPrjProjections', prjData).then(function (success) {
console.log('success');
}, function (error) {
console.log('error');
});
}
問題是該請求長時間處於待處理狀態(附加的打印屏幕),然后失敗,並顯示錯誤:“ XMLHttpRequest:網絡錯誤0x2ef3,由於錯誤00002ef3而無法完成操作”
但是,數據發布在mongodb中。 你能幫我嗎? 我將不勝感激。
您僅在出現錯誤的情況下發送響應,因此在成功的情況下也發送一些響應
function(err, todo) {
console.log(todo);
if (!err) return response.send(todo); // or send whatever or respnose.end()
console.log('bbb');
response.send(err);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.