【发布时间】:2014-08-01 02:02:15
【问题描述】:
<script src="/library/angularjs/1.2.0-rc.3/angularjs.js"></script>
<script src="/library/angularjs/1.2.0-rc.3/angular-route.js"></script>
<script src="/library/angularjs/1.2.0-rc.3/angular-resource.js"></script>
<script>
var app= angular.module('myApp', ['ngRoute', 'ngResource']);
app.service('Greeter', ['$resource',function($resource){
return $resource(
'http://123.com/processor.php',
{callback: 'JSON_CALLBACK'},
{
query: {method:'JSON_CALLBACK',isArray:true}
});
}]);
app
.controller('MyCtrl', ['$scope', 'Greeter',
function($scope,Greeter){
alert("yes");
$scope.greet = function(){
alert("greetttt");
Greeter.query({name:this.name}, function(response){
alert(response.greeting);
});
};
}]);
</script>
<div ng-app="myApp">
<div ng-controller="MyCtrl">
Your name:
<input type="text" name="name" value="World"/>
<button ng-click="greet()">greet</button>
</div>
</div>
PHP 文件只是简单地抛出了一个 JSON 数组,但我看到 chrome 检查员告诉我:
Error: [$injector:unpr] Unknown provider: $resourceProvider <- $resource <- Greeter
不知道有没有语法错误?由于 PHP 确实抛出了一个有效的 JSON 数组。
谢谢
更新1---- 我更新代码显示我以正确的顺序加载了资源和角度。 在 Bielski 修复之后,仍然有错误显示(同样的错误) 错误:[$injector:unpr] 未知提供者:$resourceProvider 更新 2 在 runTarm 修复之后,现在唯一的麻烦似乎是我引用 Greeter 的方式不正确...... ReferenceError: Greeter 未定义 在 Scope.$scope.greet (http://123.com/index-query.php:21:5) 代表这一行: Greeter.query({name:this.name}, function(response){
更新 3
建议添加 Greeter 广告资源后,还是会出现如下错误:
TypeError: undefined is not a function
at Scope.$scope.greet (http://123.com/index-query.php:21:13)
这 3 行之间似乎有问题
$scope.greet = function(){
alert("greetttt");
Greeter.query({name:this.name}, function(response){
【问题讨论】:
-
您是否包含了
angular-resource.js脚本? -
@runTarm 我做到了。我也更新了问题,请看一下。谢谢你:)
标签: javascript angularjs