我有这个问题。我有用AngularJS编写的购物清单项目应用程序。我通过对以JSON格式编写的本地文件的AJAX请求来模拟与服务器的连接。
我有一个文件,它给我一个假的serwer状态:
[{
"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会将值从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)
渴望我以为我在文件名中犯了一个错误所以我把它改成了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'}
})
但是我在我的代码中实现了它并获得了相同的Error 404结果。我希望得到一些帮助: - )。
EDITED -------------------------------------------
你好
我仍然没有解决这个错误问题。我将我的文件上传到tutorialspoint上的编码区,以查明它是否不是服务器问题。当我调用$ http.post()方法时,我仍然得到错误404.我100%确定我写了正确的文件路径。
任何人都可以帮我解决这个问题。明显的结论是错误在我的代码中,因为编码地的服务器应该运行良好。
任何帮助人员? : - )
由于
答案 0 :(得分:1)
文件中的构造看起来像一个数组,因此您可能希望尝试下面的代码。
if(data[0].status == 1)