我有这个问题。我有用 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/