Взяли на работу junior(ом), дали задание написать класс для взаимодействия с сервером, при этом, чтобы вытаскивал нам JSON и сразу представлялся в виде объекта JS
Сам проект работает на Materialize (+jQuery) + Angular
Поэтому я сделал так: на jQuery
/*
// инициализация объекта
// service = new HttpServer(@address);
var service = new HttpServer("http://192.168.137.57/blackbox/service.svc/");
// запрос на вход в систему
service.login(@login, @password).then(foo);
// получение списка типов процессов доступных пользователю для запуска
service.processtypes().then(foo);
// создание процесса
service.processcreate().then(foo);
// получение моих процессов
service.myprocessesget().then(foo);
// получение шагов процесса
service.myprocessstepsget().then(foo);
*/
var HttpServer = function(adress){
"use private";
var host = adress;
function sendAjax(url, callback){
$.ajax({
url: host + url,
dataType: 'JSON',
jsonpCallback: 'callback',
type: 'GET',
success: function( data ) {
callback(data);
}
});
}
"use public";
this.login = function(login, pass){
this.then = function(callback){
sendAjax(("login?login=" + login + "&password=" + pass), callback);
}; return this;
}
this.processtypes = function(){
this.then = function(callback){
sendAjax(("processtypes/get"), callback);
}; return this;
}
this.processcreate = function(id){
this.then = function(callback){
sendAjax(("process/create/" + id), callback);
}; return this;
}
this.myprocessesget = function(id){
this.then = function(callback){
sendAjax(("processes/get"), callback);
}; return this;
}
this.myprocessstepsget = function(id){
this.then = function(callback){
sendAjax(("processes/" + id + "/processsteps/get"), callback);
}; return this;
}
};
Хочу развиваться в JS-программировании, подскажите как лучше сделать, может вообще на angular $http перевести (но для этого тоже класс тогда надо написать)?