我需要使用 $ resource 从我的数据中选择一个元素,但是我有这个错误:
“错误:$ produit1未定义GET XHR http://localhost:8080/Jquery/data/produits.json/1 [HTTP / 1.1 404 Introuvable 15ms]
我认为问题来自此网址:http://localhost:8080/Jquery/data/ produits.json / 1
因为当我把它放在我的浏览器上时,这个网址http://localhost:8080/Jquery/data/produits.json是可以的,我可以看到数据,第一个不显示数据(Etat HTTP 404 - /Jery/data/produits.json/1)< / p>
[
{
"id" : 1,
"reference": "AAA",
},
{
"id" : 2,
"reference": "BBB",
}
]
如何通过网址调用我的元素?
这是我的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Angular ngResource</title>
<script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-resource.min.js"></script>
<script>
var myApp = angular.module('myApp', ['ngResource']);
myApp.factory('Produits',['$resource', function ($resource) {
return $resource('data/produits.json/:id',{id: "@id"},
{
'update': {method: 'PUT'},
'reviews': {method: 'GET'}
}
);
}]);
myApp.controller('produitsCtrl', function($scope, $http,Produits,$log) {
$scope.produits= Produits.query();
$scope.produit1 = Produits.get({'id': 1});
});
</script>
</head>
<body>
<div ng-app="myApp" >
<div ng-controller="produitsCtrl">
Reference 1 : {{ produit1.reference }}
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
那就是你的电话:
$resource('data/produits.json/:id',{id: "@id"},
正在寻找关于你传递的id生成的json。所以你的应用程序希望有一个json文件,只有在你的路由id = 1存在并且返回一个json时才存在。
$scope.produit1 = Produits.get({'id': 1});
应该返回一个json文件,其中的元素与您当前的元素一样。
如果你想使用json中包含的数据,你需要这样做:
var Produits = $resource(data/produits.json);
myApp.controller('produitsCtrl', function($scope, $http,Produits,$log) {
var upd = {
"id": 1,
"reference": "REF"
}
Produits.$update(upd.id);
});