【发布时间】:2015-12-09 11:21:35
【问题描述】:
有一个带有 angular 和 mongo 的应用程序。 这是我的 api 的一部分,在女巫中我已经发布并提出请求。发布请求工作正常,但是当我输入数据时,出现错误“无法设置未定义的属性 'typelocal'”。在邮递员中提出请求可以正常工作:
var Flat = require('../models/flat.js');
.put('/realestate/flats/edit/:id', function(req, res){
Flat.findById(req.params.id, function(err, flat){
if(err){
res.send(err);
}
flat.typelocal = req.body.typelocal;
flat.save(function(err, flat){
if(err){
res.send(err);
}
res.json(flat);
})
})
})
.post('/realestate/flats/add', function(req, res){
var flat = new Flat({
creator: req.decoded.id,
typelocal: req.body.typelocal,
});
flat.save(function(err, newFlat){
if(err){
res.send(err);
return;
}
// io.emit('flat', newFlat);
res.json({message: "New Flat Created!"});
});
})
return api;
};
如果我将我的 put 请求更改为:
.put('/realestate/flats/edit/:id', function(req, res){
Flat.findById(req.params.id, function(err, flat){
if(err){
res.send(err);
}
res.json(flat);
})
})
我有一个对象,例如:
{
"_id": "55f51361589d7ff015c899df",
"creator": "55ab2ee75d4c5c901f2517f9",
"typelocal": "rrrr",
"__v": 0,
"created": "2015-09-13T06:10:41.054Z"
}
这是我的 html,我有一个用于更新数据的输入:
<div ng-controller="EditFlatController as flat">
<form class="form-control">
<input type="text" class="form-control input-md" name="localtype" ng-model="flat.flatData.typelocal" placeholder="Typ lokalu" value="{{ flat.flat.typelocal }}">
<button ng-click="flat.editFlatSave()" class="my-btn my-btn-danger rebtn-add-add">Send</button>
</form>
</div>
这是我的控制器的一部分:
.controller('EditFlatController', ['UpdateFlat', '$http', '$location', '$routeParams', function(UpdateFlat, $http, $location, $routeParams){
vm = this;
$http.get('/api/realestate/flats/edit/' + $routeParams.id).success(function(data){
vm.flat = data;
})
vm.editFlatSave = function(){
vm.message = '';
UpdateFlat.update(vm.flatData)
.success(function(data){
vm.flatData = '';
vm.message = data.message;
$location.path('/realestate/flats');
})
}
}])
这是服务:
.factory('UpdateFlat', function($http){
var flatFactory = {};
flatFactory.update = function(flatData){
return $http.put('/api/realestate/flats/edit/:id', flatData);
};
return flatFactory;
})
【问题讨论】:
标签: javascript angularjs mongodb express