Skip to content

Latest commit

 

History

History
114 lines (92 loc) · 2.39 KB

README.md

File metadata and controls

114 lines (92 loc) · 2.39 KB

sa - Simple AJAX

The aim of sa is to provide a lightweight library to easy make AJAX requests.

Learning by examples

Instantiate the AJAX object

var ajax = null;
try {
  ajax = new AJAX();
} catch(e) {
  // handle error (XMLHttpRequest object not supported)
}

Instantiate the AJAX object for a CORS request

var ajax = null;
try {
  var CORS = true;
  ajax = new AJAX(CORS);
} catch(e) {
  // handle error (XMLHttpRequest object not supported)
}

GET request

ajax.get('/somepage?parmeter=wat&who=yello',function(data) {
  // handle completed get request
},
function(statusCode, body) { // Handle failure
  console.log(statusCode, body);
});

POST request

ajax.post('/somepage', function(data) {
  // Handle completed post request
}, function(statusCode, body) { // Handle failure

  console.log(statusCode, body);
}, parameters);

GET Request returning JSON

ajax.getJSON('/somepage?parmeter=wat&who=yello',function(data) {
  // Handle json return object, like:
  console.log(data.field1, data.field2);
}, function(statusCode, body) { // Handle failure
  console.log(statusCode, body);
});

Generic request

You can build your own request.

ajax.request({
url: '/wow',
  type: 'post',
  dataType: 'json',
  data: {wow: 'amazing', 'param2': 1},
  success: function(json) {
    alert(json.responseField2);
  },
  failure: function(statusCode, body) {
    alert("Request failed with status code: " + statusCode);
    alert("Request failed with body: " + body);
  }
});

In the example above we do a POST request to /wow and we expect to obtain a JSON object in respose.

We could specify JSON or XML for the expected format of the response. Empty field means HTML.

Parameters

As you can see from the examples, you can use JSON object or a literal string to pass parameters.

To specify other parameters in AJAX.request you have to follow the definition below.

//define generic ajax request parameter
{
  type: '',
  url: '',
  data: '',
  dataType: '',
  success: function(data){},
  failure: function(errorCode, body){}
};

With:

  • type = get|post
  • url = whatever you want
  • data: string|JSON
  • dataType: "JSON"|"XML"|""
  • success = function(data) {}
  • failure = function(errorCode, body) {}

License

sa is licensed under the terms of MIT licence.