javascript - 无法访问从 $http.post 接收的 JSON 文件中的值

标签 javascript angularjs json ajax

我有这个问题。我有用 AngularJS 编写的杂货 list 项目应用程序。我通过对以 JSON 格式编写的本地文件发出的 AJAX 请求模拟了与服务器的连接。

例如,我有一个文件返回给我一个假服务器状态:

[{
    "status": 1
}]

我尝试通过编写代码来接收此状态的值:

groceryService.save = function(entry){

        var updatedItem = groceryService.findById(entry.id);
        //We update the existing item 
        if(updatedItem){


            $http.post("data/updated_status.json", entry)

                .success(function(data){

                  //HERE IS PROBLEM ------------------- 
                  if(data.status == 1){
                  //END OF PROBLEM --------------------

                    updatedItem.completed = entry.completed;
                    updatedItem.itemName = entry.itemName;
                    updatedItem.date = entry.date;
                   }
            })

                .error(function(data,status){

            });
   //We creating new item 
   else{

   }

据我所知,我无法访问此状态值,我不知道为什么。在 Chrome 浏览器中,我没有收到任何错误代码。显然,正如我所见,AngularJS 必须以更改后的格式发回此 JSON 数据,我必须以不同的方式访问它,但是如何呢?

我认为 AngularJS 将值 1 从 int 解析为字符串,但我做了一些小尝试,但失败了。

我当然在我的服务指令中附加了 $http 服务:

app.service("GroceryService", function($http){

我在 xampp 本地服务器上运行我的文件。

如果有人可以帮助我解决这个问题,那就太好了:-)。

提前致谢。

已编辑:--------------------------------------------------------

我发现问题出在 $http.post() AngularJS 方法上。当我将代码切换到 get() 方法时,一切正常。

当我触发 $http.post() 时,我从 Chrome 浏览器收到错误 404。我的代码如下所示:

$http.post('data/ai.json', entry)

还有这个:

$http.post('data/update_status.json', entry)

Thirt我以为我的文件名有误,所以我将其更改为ai.json,但这不是问题。我不知道问题出在哪里,我使用括号 IDE,它可以选择在浏览器中实时预览编写的代码。它创建了一些服务器来执行此操作。

我还附上了我的文件目录的屏幕截图和 chrome 错误 404 的屏幕截图。

我仍然需要帮助来解决这个问题。预先感谢:-)。

Error 404 from Chrome when I click save button.

Directory of files. In data folder are all my .json files

在互联网上搜索解决方案时,我发现了这个:

$http.post("data/update_status.json", entry, {
    headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
  })

但是我在代码中实现了它并得到了相同的错误 404 结果。我希望得到一些帮助:-)。

已编辑--------------------------------------------------------

我仍然没有解决这个错误问题。我将我的文件上传到教程点上的编码地面,以查明这是否不是服务器问题。当我调用 $http.post() 方法时,我仍然收到错误 404。我 100% 确定我编写了正确的文件路径。

谁能帮我解决这个问题。明显的结论是错误出在我的代码中,因为编码地的服务器应该运行良好。

大家有什么帮助吗? :-)

谢谢

最佳答案

文件中的构造看起来像一个数组,因此您可能想尝试下面的代码。

if(data[0].status == 1)

关于javascript - 无法访问从 $http.post 接收的 JSON 文件中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43427544/

相关文章:

javascript - 为什么我的嵌套 For 循环在使用 Vue 时只返回第二个数组的第一个值?

javascript - Rally 2.1 SDK - 按迭代过滤用户故事

javascript - onClick事件+jquery修改不同div中的class css样式

javascript - 如何在 java 中解码 json 数据(如何从本地主机获取 json 数据并打印其值)

javascript - 将数组传递给过滤方法

javascript - Angular Routing,浏览器 URL 未按预期更新

angularjs - 系统异常 : Call to Node module failed with error: Error: URLs requested via Http on the server must be absolute

javascript - 为什么我在 JSON.stringify(value, replacer) 中的替换函数在 Angular 应用程序中没有收到 key ?

javascript - 将具有相同属性的两个对象的方法合并到每个属性的数组中

javascript - 为什么在使用 redux 和 react.js 时我的 Prop 是 `undefined`?