我在尝试将某个对象推送到服务器端的json文件时遇到问题(简单的json-server)。当我从这个文件获取http.get信息时一切正常,我得到了需要的信息。然后我希望用户填写一些输入字段,根据用户的输入构建对象,然后我想将此对象推送到我的json文件。我正在尝试创建$ http.post请求,但它返回404错误(POST http://localhost:3000/employees.json 404(Not Found))。请有人帮帮我,告诉我做错了什么?
我的代码:
$scope.employList = [];
$scope.id;
$http.get("employees.json").then(function(response) {
for (var i = 0; i < response.data["Employees"].length; i++) {
$scope.employList.push(response.data["Employees"][i]);
};
});
$scope.getId = function() {
$scope.id = $scope.employList[$scope.employList.length-1].Id;
};
$scope.save = function (name, surname, position) {
$scope.getId();
var newObj = {
"Id": $scope.id + 1,
"firstName": name,
"secondName": surname,
"position": position
};
$http.post("employees.json", JSON.stringify(newObj)).then(function (item) {
employList.push(item);
});
};
我使用AngularJS并具有以下分支结构: Branch structure
感谢您的帮助!
- - - - - - - - UPDATE
这是我的employees.json文件:
{
"Employees": [
{
"Id": 0,
"firstName": "Jack",
"secondName": "Sparrow",
"position": "Captain"
},
{
"Id": 1,
"firstName": "Michael",
"secondName": "Jackson",
"position": "Singer"
},
{
"Id": 2,
"firstName": "Lionel",
"secondName": "Messi",
"position": "Footballer"
},
{
"Id": 3,
"firstName": "Steve",
"secondName": "Jobs",
"position": "Developer"
},
{
"Id": 4,
"firstName": "John",
"secondName": "Smith",
"position": "Developer"
}
]
}
&#13;
答案 0 :(得分:0)
试试这段代码:
$http.post("employees.json",newObj)
.then(function (response) {
employList.push(response.data);
});
答案 1 :(得分:0)
最终我弄清楚出了什么问题。问题出在我的目录结构中,我附在屏幕截图上。 Json-server只维护一个主活动文件,可以获取非GET请求。所以我需要删除我的employees.json文件并将所有信息剪切并粘贴到users.json文件中。然后一切正常。另外,我将users.json重命名为db.json以方便使用。所有其他文件应位于/public
目录。