ACTUALIZACIÓN: desde Angular 1.6
Ya no puede usar la cadena JSON_CALLBACK como marcador de posición para especificar dónde debe ir el valor del parámetro de devolución de llamada
Ahora debe definir la devolución de llamada así:
$http.jsonp('some/trusted/url', {jsonpCallbackParam: 'callback'})
Cambiar / acceder / declarar $http.defaults.jsonpCallbackParam
parámetro a través de , por defecto escallback
Nota: También debe asegurarse de que su URL se agregue a la lista blanca / confiable:
$sceDelegateProvider.resourceUrlWhitelist
o de confianza explícita a través de:
$sce.trustAsResourceUrl(url)
success/error
estaban en desuso .
Los $http
métodos heredados de la promesa success
y error
han quedado obsoletos y se retiró en v1.6.0. En su lugar, utilice el método estándar y luego. Si $httpProvider.useLegacyPromiseExtensions
se establece en false
, estos métodos arrojarán $http/legacy error
.
UTILIZAR:
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);
});
Respuesta anterior: Angular 1.5.xy antes
Todo lo que debe hacer es cambiar callback=jsonp_callback
a Me callback=JSON_CALLBACK
gusta:
var url = "http://public-api.wordpress.com/rest/v1/sites/wtmpeachtest.wordpress.com/posts?callback=JSON_CALLBACK";
Y luego su .success
función debería dispararse como lo hizo si el retorno fue exitoso.
Hacerlo de esta manera evita que tengas que ensuciar el espacio global. Esto está documentado en la documentación de AngularJS aquí .
Se actualizó el violín de Matt Ball para usar este método: http://jsfiddle.net/subhaze/a4Rc2/114/
Ejemplo completo:
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);
});