Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS:操作“查询”的资源配置出错。预期响应包含对象,但获得数组_Javascript_Angularjs_Web Services_Rest_Azure - Fatal编程技术网

Javascript AngularJS:操作“查询”的资源配置出错。预期响应包含对象,但获得数组

Javascript AngularJS:操作“查询”的资源配置出错。预期响应包含对象,但获得数组,javascript,angularjs,web-services,rest,azure,Javascript,Angularjs,Web Services,Rest,Azure,我试图使用Angular 1.3调用REST服务,但不断得到一个“Error:Error:badcfg” 响应与配置的参数“”不匹配 我怀疑它在我的控制器中调用$scope.data。我相信。数据是正确的,但它抛出了这个错误 这是我的服务,包括一个测试REST调用: var pfcServices = angular.module('pfcServices', ['ngResource']) pfcServices.factory('pfcArticles', ['$resource',

我试图使用Angular 1.3调用REST服务,但不断得到一个“Error:Error:badcfg” 响应与配置的参数“”不匹配

我怀疑它在我的控制器中调用$scope.data。我相信。数据是正确的,但它抛出了这个错误

这是我的服务,包括一个测试REST调用:

var pfcServices = angular.module('pfcServices', ['ngResource'])

pfcServices.factory('pfcArticles', ['$resource',
  function($resource){
      return $resource('https://myrestcall.com/data, {}, {
          query: {method:'GET'}
      });
  }]);
这是我的控制器:

var pfcControllers = angular.module('pfcControllers', []);

pfcControllers.controller('pfcCtrl', ['$scope', 'pfcArticles', function ($scope, pfcArticles) {
    $scope.data = pfcArticles.query();
}]);
在IE中,我得到一条CORS消息:XMLHttpRequest,用于所需的跨源资源共享(CORS)。这在Chrome中不会发生

然而,我不确定这是否是相关的,或者只是我的一个糟糕的决定。我已将我的测试站点添加到Azure Mobile Webservices中的CORS,我将在其中承载测试REST调用


我是新来的Angular,所以我倾向于一个糟糕的调用。

我不确定为什么要在资源上设置
query
属性。删除
查询的配置

return $resource('https://pfc.azure-mobile.net/tables/articles', {});
或者在
query
配置上设置
isArray
true

return $resource('https://pfc.azure-mobile.net/tables/articles', {}, {
          query: {method:'GET',isArray:true}
      });
出现错误是因为Angular无法反序列化您的响应,因为它需要一个对象,但来自调用的响应是一个数组


$resource
上的查询方法已设置了此标志,但由于您正在重新定义查询配置,因此发生了此错误。一定要检查一下房间

成功了。现在它变得更有意义了,如果我有一个基本的REST调用,我可以使用直接返回,如果我需要更多的高级选项,我可以使用更多的API。