2

我想使用 AngularJS 的 $http 服务请求 Dailymotion API,但它似乎不像在 jQuery 中那样工作。

var url = 'https://api.dailymotion.com/videos?fields=id,audience,onair&ids=xzttq2_c,xrw2w0';

使用 jQuery 请求

jQuery.ajax({
  type: 'GET',
  url: url,
  dataType: 'jsonp',
  success: function(data) {
    console.log('Success', data);
  },
  error: function(data) {
    console.log('Error', data);
  }
});

结果

使用 jQuery,它工作正常。我不必使用回调。

Success 
Object {page: 1, limit: 10, explicit: false, has_more: false, list: Array[2]}

使用 AngularJS 请求

$http({
    method: 'jsonp',
    url: url,
    responseType: "json"
}).
success(function (data) {
    console.log('Success', data);
}).
error(function (data) {
    console.log('Error', data);
});

结果

但是对于 Angularjs,它并没有像我预期的那样工作。

Uncaught SyntaxError: Unexpected token : 
4

1 回答 1

7

将此添加到您的网址:&callback=JSON_CALLBACK

工作:http: //jsfiddle.net/dqcpa/

来自 jQuery 的ajax方法文档

“jsonp”:使用 JSONP 加载到 JSON 块中。添加一个额外的“?callback =?” 到 URL 的末尾以指定回调。

于 2013-10-09T10:34:10.543 回答