Utwórz API JSONP w AngularJS i zużyj z jQuery
W tej chwili stworzyłem API JS z JQuery, ale zastanawiam się, czy można to zrobić za pomocą AngularJs.
Na przykład, wyobraź sobie małe API, takie jak poniżej:
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");
}
}
}
Przeszukiwałem dokumentację AngularJs, a także przeszukiwałem w Google, ale nie znalazłem sposobu, w jaki kod w Jquery mógłby zostać utworzony w AngularJS. Pomyślałem, że może użyć $ routeProvider można to zrobić, ale nie znalazłem żadnego przykładu ani dokumentacji na temat używania $ routeProvider do wykonywania połączeń jsonp bez pokazywania szablonu lub przekierowywania do jakiegoś miejsca.