Javascript 使用AngularJS$资源的jsonp请求

Javascript 使用AngularJS$资源的jsonp请求,javascript,angularjs,Javascript,Angularjs,我在AngularJS中定义了以下两个服务。两者都应该返回JSONP,因为我正在执行跨域请求 服务A: angular.module('ServiceA', ['ngResource']). factory('A', function ($resource) { return $resource('url/offers', {}, { get: { method: 'JSONP', params: {property_code: 'DEMO_ERFO

我在AngularJS中定义了以下两个服务。两者都应该返回JSONP,因为我正在执行跨域请求

服务A:

angular.module('ServiceA', ['ngResource']).
  factory('A', function ($resource) {
     return $resource('url/offers', {},
       {
         get: { method: 'JSONP', params: {property_code: 'DEMO_ERFOLGX', adults: '2',
                callback: 'JSON_CALLBACK'} }
       }
    );
  });
服务B:

angular.module('ServiceB', ['ngResource']).
  factory('B', function ($resource) {
     return $resource('url/search.json', {},
       {
         get: { method: 'JSONP', params: {property_code: 'DEMO_ERFOLGX', adults: '2',
                callback: 'JSON_CALLBACK'} }
       }
    );
  });
在我的控制器中,我将结果绑定到我的作用域:

$scope.foo = A.get();  
$scope.bar = B.get();
根据my console.log()输出,B返回JSON格式的预期结果,而A返回类似以下内容的结果:

SyntaxError: invalid label
{"DEMO_ERFOLGX":{"offers":[{"checkin":"2012-12-01","checkout"

我错过什么了吗?为了从服务器接收正确的JSON,我必须做什么?

您的代码看起来很混乱。这两个服务都被称为,但您使用的模块名称不同。除此之外,第二个服务调用JSON文件而第一个服务调用JSON文件并不重要吗

我会尝试以下方法:

angular.module('app.services', ['ngResource'])
  .factory('ServiceA', function ($resource) {
     return $resource('url/offers', {},
       {
         get: { method: 'JSONP', params: {property_code: 'DEMO_ERFOLGX', adults: '2',
                callback: 'JSON_CALLBACK'} }
       }
    );
  });
  .factory('ServiceB', function ($resource) {
     return $resource('url/search.json', {},
       {
         get: { method: 'JSONP', params: {property_code: 'DEMO_ERFOLGX', adults: '2',
                callback: 'JSON_CALLBACK'} }
       }
    );
  });

服务B以JSON格式返回预期的结果,而服务B返回类似这样的结果:-->您是说服务器A吗?sry,我这里有一个输入错误。服务A返回错误。服务B工作fine@mawo那么问题解决了还是仍然存在?然后,我将检查错误是否取决于您正在查询的JSON资源,或者它的AngularJS.problem是否已解决。结果表明,服务器没有返回有效的jsonp。无论如何谢谢你!当它以这种方式编码时,如何注入它,也就是说,我试图在我的控制器中调用它,但我不能只是
控制器(abc'、['$scope'、'app.services',function
好的,我知道我哪里出错了,我试图将
服务
放在控制器()的列表中,而不是模块()的列表中,但是,我在包含我的控制器的app.js文件中不断出现错误,我尝试在其中使用此模块。您能否举例说明如何在controlle rplease中调用和使用它,以供模块建议?@F Lekschas