The teeny tiny cross-browser XHR library - just 493 bytes gzipped!
JavaScript CoffeeScript
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
demo
.gitignore
Gruntfile.coffee
LICENSE.md
README.md
bower.json
package.json
uxhr.js
uxhr.min.js

README.md

#µXHR

The teeny tiny cross-browser XHR library - just 493 bytes gzipped!

##Usage

// with a data object
uxhr('endpoint.html', {
	foo: 'bar',
	baz: 5
}, {
	complete: function (response) { ... }
});

// ... or with a data string
uxhr('endpoint.html', 'war=peace&freedom=slavery&ignorance=strength', {
	complete: function (response) { ... }
});

// abort a request
var req = uxhr('endpoint.html', {
  complete: function (response) { ... }
});

req.abort();

##Arguments

Argument Type Required
url String Yes
data Object No
options Object No

##Options

Option Type Default Notes
method String GET GET, POST, HEAD, PUT, DELETE, etc. see wikipedia.org/wiki/HTTP#Request_methods
headers Object {} Custom headers for this request, see wikipedia.org/wiki/List_of_HTTP_header_fields#Requests
sync Boolean false Should this request be synchronous?
timeout Number 0 Timeout (in ms) before aborting the request
complete Function function(){} Callback fired when the request is completed
success Function function(){} Callback fired when the request is completed successfully (eg. with HTTP status code < 400)
error Function function(){} Callback fired when the request returns an error (eg. HTTP status code >= 400)

##Returns

uxhr returns the request object

Tested on

  • Chrome 29 on OSX
  • Chrome 28 on Windows
  • Firefox 23 on OSX
  • Firefox 21 on Windows
  • Internet Explorer 7-10 on Windows
  • Opera 16 on OSX
  • Safari 6 on OSX
  • Safari 6 on iPhone4/iOS6
  • Safari 6 on iPhone5/iOS6
  • Safari 6 on iPad2/iOS6
  • Safari 6 on iPad3/iOS6