Создайте JSONP API в AngularJS и используйте его с помощью jQuery
Прямо сейчас я создал JS API с JQuery, но мне интересно, можно ли это сделать с AngularJs.
Например, представьте небольшой API, подобный следующему:
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");
}
}
}
Я искал в документации AngularJs, а также в Google, но я не нашел способа сделать код в Jquery в AngularJS. Я подумал, что, возможно, с помощью $ routeProvider это можно сделать, но я не нашел ни примера, ни документации о том, как использовать $ routeProvider для выполнения вызовов jsonp без показа шаблона или перенаправления в какое-то место.