gpt4 book ai didi

javascript - 将输入字段值传递到 angularjs $resource undefined 并且错误显示未知范围提供程序

转载 作者:行者123 更新时间:2023-12-03 12:08:17 25 4
gpt4 key购买 nike

 <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.factory('Greeter', ['$scope' , '$resource',function($scope,$resource){
return $resource(
'http://adam.shopkeeper.tekserve.com/awh/ngresource/processor.php',
{
myvar:$scope.inputName,
callback: 'JSON_CALLBACK'

},
{
query: {method:'GET',isArray:true}
});
}]);

app
.controller('MyCtrl', ['$scope', 'Greeter',
function($scope,Greeter){
/*alert("yes");*/
$scope.greet = function(){
//alert("greetttt");
alert("before greeeter"+$scope.inputName);
Greeter.query({inputName:$scope.inputName}, function(response){
alert(response[0].myCodeId);
$scope.output=response[0].myCodeId;
});
};
}]);
</script>
<div ng-app="myApp">
<div ng-controller="MyCtrl">
Your name:
<input type="text" ng-model="inputName" name="myInput" value="World"/>
<button ng-click="greet()">greet</button>


<div>
Test Output Here

{{output}}

</div>
</div>
</div>

php 文件期望返回单个数组项(即 item[0]),但这不是问题。因为 $scope 似乎无法识别 inputName 字段,所以我将其设为模型(尽管我不确定它是否正确)。错误消息将显示如下:

Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- Greeter

我想知道我哪里出错了?

最佳答案

http://plnkr.co/edit/CKgWrson3IbMugRKdX5p?p=preview

我修复了其他人在评论中指出的一些问题。

从工厂中删除 $scope。这里你得到的是一个通用的 $scope 对象,但不是实际的范围。您将在 Controller 中得到它。当您使用 query() 调用 Angular 资源时,第一个参数已经是参数。但您可以像以前一样指定通用参数。

function($resource) {
return $resource('mocked-resource.json', {
callback: 'JSON_CALLBACK'
}, {
query: {
method: 'GET',
isArray: true
}
});

希望这有帮助。

关于javascript - 将输入字段值传递到 angularjs $resource undefined 并且错误显示未知范围提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25083305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com