学习 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 的评论发布您的数据或设置本地端点并尝试发布到该端点。
关于javascript - 使用 $http 服务将数据发布到本地 json 文件时未找到元素错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36144224/