你需要将那个“id”属性分配给一个对象,例如:
item = { id : 4 }
假设你有一个文本框,用户想通过在其中插入项目名称并单击提交来保存一个新项目。
还假设你正在使用一个项目的MongoDB集合,为简单起见,只有“id”字段。
以下是使它变得容易的步骤:
确保你导入了“bodyParser”。
var bodyParser = require('body-parser');
HTML - 保存具有自定义ID的新项目
<div class="form-group">
<label for="id">ID</label>
<input type="text" class="form-control" id="id" ng-model="ItemController.formData.id">
</div>
<button type="submit" ng-click="ItemController.createItem()" >Submit</button>
Angular部分 - ItemController.js
'use strict';
angular
.module('myApp')
.controller('ItemController', ItemController);
function ItemController($http) {
var vm = this;
vm.createItem = function() {
var itemData = {
id : vm.formData.id
};
$http.post('/api/kill', itemData)
.success(function(response) {
if(response.err){
console.log('Error: ' + response.err);
} else {
console.log('Saved '+response);
}
});
};
}
路由处理 - routes.js
var ItemFactory = require('./factories/item.factory.js');
module.exports = function(app) {
app.post('/api/kill', function(req, res) {
ItemFactory.postItem(req).then( function (item) {
return res.json(item);
});
});
};
将内容发布到MongoDB - item.factory.js
var Item = require('../models/item-model');
exports.postItem = postItem;
function postItem(item) {
return new Promise( function (resolve, reject) {
var newItem = new Item(item.body);
newItem.save(function(err) {
if (err){
return reject({err : 'Error while saving item'});
}
return resolve(item.body);
});
});
}
如果您在我传递项目的不同代码片段上尝试
console.log()
,则可以正确地看到具有
id属性
的对象。希望我能够帮上忙。
{"id":4}
,但是没有值。我需要查看服务器代码。 - Explosion Pillsreturn $http.post('/api/kill', JSON.stringify({id:4})...
- Dave V$http.post( '/api/kill', { id:4 }, { headers:{}}).then( function( rsp ){ console.log( 'rsp', rsp )})
- jusopi