Crie uma API JSONP no AngularJS e consuma a jQuery
Agora mesmo criei uma API JS com JQuery, mas estou imaginando se isso poderia ser feito com o AngularJs.
Por exemplo, imagine uma API pequena como a seguinte:
var $myapi= $myapi|| {};
;(function($, window, document, undefined){
_call_myapi_jsonp: function(params,controller,action,eventName){
if (!params) params = {};
var url = this.urls.base+"/"+controller+"/"+action+"?callback=?";
if (params.callback)
url = this.urls.base+"/"+controller+"/"+action+"?callback="+params.callback;
url = url + "&_"+new Date();
delete params.callback;
$.ajax({
url: url,
data: params,
crossDomain:true,
dataType:'jsonp',
cache:false,
ajaxOptions: {cache: false},
jsonp: params.callback?false:true,
success:function(data,status){
if (eventName && eventName!=""){
$($myapi).trigger(eventName,data);
}
}
});
},
level: {
list: function(params){
params = params || {};
params.max = params.max!=undefined?parseInt(params.max):$myapi.defaults.levels.max;
params.page = params.page!=undefined?parseInt(params.page):$myapi.defaults.levels.page;
params.showActives = params.showActives!=undefined?params.showActives:$myapi.defaults.levels.showActives;
$myapi._call_myapi_jsonp(params,"level","listJSONP","myapi.level.list");
},
info: function(params){
$myapi._call_myapi_jsonp(params,"level","showJSONP","myapi.level.info");
}
}
}
Tenho pesquisado através da Documentação AngularJs e também pesquisando no Google, mas não encontrei uma maneira em que o código no Jquery pudesse ser feito no AngularJS. Eu pensei que talvez usando $ routeProvider poderia ser feito, mas eu não encontrei nenhum exemplo ou documentação sobre como usar $ routeProvider para fazer chamadas jsonp sem mostrar um template ou redirecionar para algum lugar.