GÜNCELLEME: Angular 1.6'dan beri
Artık JSON_CALLBACK dizesini, geri çağrı parametresi değerinin nereye gitmesi gerektiğini belirtmek için bir yer tutucu olarak kullanamazsınız
Şimdi geri aramayı şu şekilde tanımlamalısınız:
$http.jsonp('some/trusted/url', {jsonpCallbackParam: 'callback'})
Değiştir / erişim / beyan et parametresi $http.defaults.jsonpCallbackParam
, varsayılan olarakcallback
Not: Ayrıca, URL'nizin güvenilenler / beyaz listeye eklendiğinden emin olmalısınız:
$sceDelegateProvider.resourceUrlWhitelist
veya şu yolla açıkça güvenildi:
$sce.trustAsResourceUrl(url)
success/error
edildi kullanımdan kaldırıldı .
$http
Eski vaadi yöntemleri success
ve error
onaylanmaz ve GO v1.6.0 kaldırılacaktır. Bunun yerine standartı ve ardından yöntemi kullanın. Olarak $httpProvider.useLegacyPromiseExtensions
ayarlanırsa, false
bu yöntemler atacaktır $http/legacy error
.
KULLANIM:
var url = "http://public-api.wordpress.com/rest/v1/sites/wtmpeachtest.wordpress.com/posts"
var trustedUrl = $sce.trustAsResourceUrl(url);
$http.jsonp(trustedUrl, {jsonpCallbackParam: 'callback'})
.then(function(data){
console.log(data.found);
});
Önceki Cevap: Açısal 1.5.x ve öncesi
Tek yapmanız gereken gereken tüm değişimdir callback=jsonp_callback
için callback=JSON_CALLBACK
şöyle:
var url = "http://public-api.wordpress.com/rest/v1/sites/wtmpeachtest.wordpress.com/posts?callback=JSON_CALLBACK";
Ve sonra .success
geri dönüş başarılı olduysa , işleviniz de sahip olduğunuz gibi çalışacaktır.
Bunu bu şekilde yapmak sizi küresel alanı kirletmekten alıkoyar. Bu angularjs belgelerinde belgelenmiştir burada .
Bu yöntemi kullanmak için Matt Ball'un keman güncellendi: http://jsfiddle.net/subhaze/a4Rc2/114/
Tam örnek:
var url = "http://public-api.wordpress.com/rest/v1/sites/wtmpeachtest.wordpress.com/posts?callback=JSON_CALLBACK";
$http.jsonp(url)
.success(function(data){
console.log(data.found);
});