AngularJS中的JSONP请求不像jQuery那样工作 [英] JSONP request in AngularJS doesn't work like in jQuery
本文介绍了AngularJS中的JSONP请求不像jQuery那样工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想用AngularJS的$ http服务请求Dailymotion API,但它似乎不像jQuery那样工作。
I would like to request the Dailymotion API with the $http service of AngularJS, but it doesn't seem to work like in jQuery.
var url = 'https://api.dailymotion.com/videos?fields=id,audience,onair&ids=xzttq2_c,xrw2w0';
使用jQuery的请求
Request using jQuery
jQuery.ajax({
type: 'GET',
url: url,
dataType: 'jsonp',
success: function(data) {
console.log('Success', data);
},
error: function(data) {
console.log('Error', data);
}
});
结果
使用jQuery,它的工作原理精细。我不必使用回调。
Result
With jQuery, it's work fine. I don't have to use a callback.
Success
Object {page: 1, limit: 10, explicit: false, has_more: false, list: Array[2]}
使用AngularJS的请求
Request using AngularJS
$http({
method: 'jsonp',
url: url,
responseType: "json"
}).
success(function (data) {
console.log('Success', data);
}).
error(function (data) {
console.log('Error', data);
});
结果
但是对于Angularjs,它不能按我的预期工作。
Result
But with Angularjs, it doesn't work as I expected.
Uncaught SyntaxError: Unexpected token :
推荐答案
将此添加到您的网址:& callback = JSON_CALLBACK
。
Add this to your url : &callback=JSON_CALLBACK
.
工作: http://jsfiddle.net/dqcpa /
来自jQuery' ajax
方法文档:
From jQuery' ajax
method documentation:
jsonp:载入在使用JSONP的JSON块中。添加额外的?callback =?到
指定回调的URL结尾。
这篇关于AngularJS中的JSONP请求不像jQuery那样工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文