javascript - 使用 $http 服务将数据发布到本地 json 文件时未找到元素错误

标签 javascript angularjs json http

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

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

{
  "name": "old name"
}

在我的 Controller 中,我尝试编辑该名称:

  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 文件确实在那里。

有什么建议吗?

最佳答案

不要忘记对 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 文件 - 它只是不能那样工作。这就是您在代码中所做的;见下文。

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

如前所述,您发布到本地 JSON 文件,正如所述,该文件不起作用。

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

Working Fiddle

关于javascript - 使用 $http 服务将数据发布到本地 json 文件时未找到元素错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36144224/

相关文章:

arrays - MongoDB 中的唯一索引

json - Apache Pig中的Json解析

javascript - 如何在多个变量中存储多个编码值

javascript - 如何删除子节点并在javascript中保留其子节点?

javascript - Angular JS+Laravel -- 在 URL::route 外观中回显 Angular 数据

javascript - 多个 $http promise 使用工厂, Angular

javascript - Google Chrome 中 array.splice() 的时间复杂度是多少?

javascript - 检查页面的更新版本,如果存在,则重新加载

javascript - 有没有办法使用 javascript 更改浏览时的区域设置?

javascript - 从 JSON 调用对象的值时,为什么必须用引号和加号括起来?