使用$ http服务将数据发布到本地json文件时,找不到任何元素错误

时间:2016-03-22 00:37:00

标签: javascript angularjs json http

学习角度并在我的应用程序中我有一个本地json文件,我可以使用$ http.get从文件中读取数据,但现在我也想将数据发布到它。

例如我的json文件如下所示:

{
  "name": "old name"
}

在我的控制器中,我正在尝试编辑该名称:

  var data = $.param(
      {"name": "new data"}
  );

  $http.post('testData.json', data)
      .success(function (data,status) {
        console.log("Post success");
      })
      .error(function () {
        console.log("Post failed");
      });

尝试http.post时,浏览器控制台中出现“找不到元素”错误。我确定它指向正确的文件,而json文件实际上就在那里。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

别忘了给JSON打字!:

~/cs3270j/Prog2$ g++ -o prog2.exe prog2.cpp
~/cs3270j/Prog2$ ./prog2.exe
0~/cs3270j/Prog2$

您无法发布到本地json文件 - 它不会以这种方式工作。这就是你在代码中所做的;见下文。

angular.module('myApp', [])
.controller('myCtrl', function ($scope, $http) {
    $scope.hello = {name: "Boaz"};
    $scope.newName = "";
    $scope.sendPost = function() {
        var data = $.param({
            json: JSON.stringify({
                name: "new data"
            })
        });
        $http.post("/echo/json/", data).success(function(data, status) {
            $scope.hello = data;
        })
    }                   
})

如上所述,您发布了一个本地JSON文件,如上所述,该文件无法正常工作。

您需要发布到本地端点。请参阅@ jdersen对OP的评论,以便使用https://postb.in/发布您的数据或设置或本地端点并尝试发布到该端点。

Working Fiddle