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.jsonpCallbackParampará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/errorestaban en desuso .
Los $httpmétodos heredados de la promesa successy errorhan quedado obsoletos y se retiró en v1.6.0. En su lugar, utilice el método estándar y luego. Si $httpProvider.useLegacyPromiseExtensionsse 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_callbacka Me callback=JSON_CALLBACKgusta:
var url = "http://public-api.wordpress.com/rest/v1/sites/wtmpeachtest.wordpress.com/posts?callback=JSON_CALLBACK";
Y luego su .successfunció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);
});