geilt

jQuery API

Jun 19th, 2015
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
jQuery 1.33 KB | None | 0 0
  1. define(['config', 'jquery', 'lodash'], function(config, $, _){
  2.    
  3.  
  4.     function api(){
  5.         this.server = config.server.protocol + "://" + config.server.url + ":" + config.server.port;
  6.        
  7.         this.settings = {
  8.             xhrFields: {
  9.                 withCredentials: true
  10.            }
  11.         };
  12.     }
  13.  
  14.     api.prototype.config = function(args){
  15.         this.settings = $.extend(this.settings, args);
  16.     };
  17.     api.prototype.get = function(path, data, callback){
  18.         var url = this.server + '/' + path;
  19.        
  20.         var settings = _.clone(this.settings);
  21.         settings.method = 'GET';
  22.         settings.data = data || {};
  23.  
  24.         return $.ajax(url, settings);
  25.     };
  26.     api.prototype.post = function(path, data, callback){
  27.         var url = this.server + '/' + path;
  28.        
  29.         var settings = _.clone(this.settings);
  30.         settings.method = 'POST';
  31.         settings.data = data || {};
  32.  
  33.         return $.ajax(url, settings);
  34.     };
  35.     api.prototype.put = function(path, data, callback){
  36.         var url = this.server + '/' + path;
  37.        
  38.         var settings = _.clone(this.settings);
  39.         settings.method = 'PUT';
  40.         settings.data = data || {};
  41.  
  42.         return $.ajax(url, settings);
  43.     };
  44.     api.prototype.delete = function(path, data, callback){
  45.         var url = this.server + '/' + path;
  46.        
  47.         var settings = _.clone(this.settings);
  48.         settings.method = 'DELETE';
  49.         settings.data = data || {};
  50.  
  51.         return $.ajax(url, settings);
  52.     };
  53.  
  54.     return new api();
  55. });
Advertisement
Add Comment
Please, Sign In to add comment