使用AngularJS保存JSON数据到服务器-在页面刷新时消失

Saving JSON data to server using AngularJS - disappears on page refresh

本文关键字:刷新 消失 服务器 保存 AngularJS JSON 数据 使用      更新时间:2023-09-26

我正在使用AngularJS编写一个单页web应用程序。它包括一个表,其中包含从服务器上的JSON文件中提取的数据。我正在使用$http服务进行$http.get()调用,以从该文件填充表。

页面上还有一个用于向表中添加数据的表单。我使用$http.post()将数据从表单添加到JSON文件(这似乎工作得很好,因为我的.success()回调在post调用后运行)。

然而,每当我刷新页面时,我发现我应该发布的数据没有在表中表示。$http请求是否不足以永久保存数据到文件?

更新:

我的$http.post()不能正常工作。我的JSON文件从来没有得到更新后的post请求。不知道为什么。参见下面的代码:

$scope.postNewJob = function(newJob) {
    $http.post('json/jobList.json', newJob)
        .success(function(data) {
            console.log(data);
        })
        .error(function(data,status,error,config) {
            alert("Error: "+error+" Post to server failed.'nStatus: "+status);
        });
};

我假设您正确地将数据保存到服务器,问题是JSON数据的GET请求正在缓存。为了解决这个问题,您可以使用querystring参数来中断缓存或在服务器上设置适当的无缓存头。

$http({
    url: '...',
    params: { 'ts': new Date().getTime() }
})