Javascript query()与Angular$resources始终“;未定义不是一个函数”;
我只是用下面的代码调用带有Ng追索权的query(),但它总是会遇到“Undefined不是函数” [demo.js]Javascript query()与Angular$resources始终“;未定义不是一个函数”;,javascript,angularjs,Javascript,Angularjs,我只是用下面的代码调用带有Ng追索权的query(),但它总是会遇到“Undefined不是函数” [demo.js] var app = angular.module('StarterApp', ['ngResource']); app.factory("resourceFactory", function($resource) { return $resource("js/demo2.json", {}, { 'get':{method:'GET'}, 'query':
var app = angular.module('StarterApp', ['ngResource']);
app.factory("resourceFactory", function($resource) {
return $resource("js/demo2.json", {}, {
'get':{method:'GET'},
'query':{method:'GET',isArray:true,url:"js/demo2.json"},
'save':{method:'POST'}
});
});
app.controller('appCtrl', function($scope, resourceFactory){
'use strict';
var ajax = new resourceFactory;
ajax.$query(function(response) {
console.log(response);
});
});
[demo2.json]
[
{"demo2":"test"}
]
[错误]
TypeError: undefined is not a function
at http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-resource.min.js:9:466
at s (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:7:302)
at d.module.provider.$get.e.(anonymous function).q.then.p.$resolved (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-resource.min.js:9:423)
at http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:112:20
at l.$get.l.$eval (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:125:305)
at l.$get.l.$digest (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:122:398)
at l.$get.l.$apply (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:126:58)
at l (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:81:171)
at S (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:85:301)
at XMLHttpRequest.D.onload (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:86:315)
如果我将“$get”与简单的对象返回一起使用,它就会工作。所以我不确定我的代码出了什么问题。它应该是
resourceFactory.query
而不是resourceFactory。$query
&而且不需要使用新建
关键字创建对象的实例
代码
resourceFactory.query(function(response) {
console.log(response);
});
我认为这是因为您尝试在数组上执行承诺 我遇到了同样的问题,并将WebService数组包装在JSON中 即: 而不是:
myArray
而且很有魅力
我使用同一版本的angularJS,未定义的是寻找push方法
我刚刚在GitHub上发现了这个问题,它仍然是开放的
resourceFactory.$query
将起作用,为什么会有新的resourceFactory
@kipp很高兴帮助您,谢谢。:)仅当您有权访问API时,
myArray