Request

The Request class facilitates communication with remote HTTP servers via the browser's XMLHttpRequest object or via JSONP. Its prefered to use this instead of XMLHttpRequest, this class will make sure there are no crossbrowser issues. In addition it also goes through a proxy to prevent Cross Domain issues.

new Request()

Configs

data : {Object}

Object containing data you want to send with the request.

Example
//When method is 'GET' or you did not define a method, then the data will be appended to the url.
new Request({
   url: 'myurl.com', //Will be: 'myurl.com?id=1'
   data: { id: 1 }
}).send();

//Sending as json
new Request({
   url: 'myurl.com',
   method: 'POST', //Anything but GET
   headers: {
      'Content-Type': 'application/json'
   },
   data: { id: 1 }
}).send();

//Sending in body
new Request({
   url: 'myurl.com',
   method: 'POST', //Anything but GET
   data: { id: 1 }
}).send();

headers : {Object}

Can be used to define the headers to use with the request.

jsonp : {Boolean}

Use true if you want to send the request as JSONP

method : {String}

Define which request method to use (GET, POST, DELETE, PUT). Default it will use GET.

onComplete : {Method}

Callback method always triggered when request is done.

Name Type Description
request Class

The XMLHttpRequest

Example
new Request({
   url: 'myurl.com',
   onComplete: function (request) {
      if (request.status === 200)
         JSON.parse(json.response);
   }
}).send({ id: 1 });

onError : {Method}

Callback method triggered when the request was successful but the result failed to parse.

Name Type Description
error Class

Contains the error that occured.

onFailure : {Method}

Callback method triggered when the request failed.

Name Type Description
request Class

The XMLHttpRequest

onSuccess : {Method}

Callback method triggered when the request was successful.

Name Type Description
result Mixed

The parsed data returned from the server depending on content-type.

request Class

The XMLHttpRequest

onTimeout : {Method}

When a timeout config is used and the request takes to long, this callback will trigger.

Name Type Description
request Class

The XMLHttpRequest

password : {String}

Authentication with password

proxy : {Boolean}

Default true, use false to not use the proxy.

user : {String}

Authentication with username

Methods

abort()

This will abort the request if it is pending.

send(data)

Parameters:

Name Type Description
data Object

Data you want to send with the request. You can also define it in the config and not use it here.

Example

new Request({
   url: 'myurl.com'
}).send({ id: 1 });

var myRequest = new Request({
   url: 'myurl.com',
   data: { id: 1 }
}).send();
myRequest.send();