angularjs $ http.post导致501不支持的方法('POST')

时间:2014-02-14 05:38:24

标签: angularjs

提前谢谢!

这是我的app.js文件:

var app = angular.module("app", []);

app.controller("AppCtrl", function($http) {
    var app = this;
    $http.get("./users/users.json")
      .success(function(data) {
        app.people = data;
      })

app.addPerson = function(person){
        $http.post("./users/user.json",person).
        success(function(data,status,headers,config) {
            app.people = data;
          }).error(function (data, status, headers, config) {
                app.status = status;
            });
    }

})

和index.html:

<body ng-app="app" ng-controller="AppCtrl as app">

              <input type="text" ng-model="app.person.firstName" />
              <input type="text" ng-model="app.person.lastName" />
              <input type="button" ng-click="app.addPerson(app.person)" />

              <ul>
                <li ng-repeat="person in app.people">
                    {{person.firstName}} {{person.lastName}}
                </li>
              </ul>

json文件,$http.get("./users/users.json")正常工作。

[
    {"firstName":"One","lastName":"Two"},
    {"firstName":"Three","lastName":"Four"}
]

当我尝试发布时,我收到错误:

POST http://localhost:9006/users/user.json 501 (Unsupported method ('POST')) 

在“网络”标签中,它显示“请求有效负载”:

{firstName:Five,lastName:Six}
firstName: "Five"
lastName: "Six

我正在使用python SimpleHTTPServer。再次感谢。

2 个答案:

答案 0 :(得分:4)

您无法直接发布到静态JSON文件。如果要更新文件,则需要在服务器上创建Web服务端点以接受POST请求并更新文件。

答案 1 :(得分:0)

完全同意Anthony Chu。在得到他的答案之后,我做了一些研究并且遇到了这个NPM包,local REST api - 我跟着this tutorial - 快乐的日子!希望这可以帮助。