| 
				
					
						 | 
			||
|---|---|---|
| dist | ||
| src | ||
| test | ||
| .eslintrc.json | ||
| .gitignore | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
| package-lock.json | ||
| package.json | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	HTTP
A tiny http/ajax library.
Weighs in at less than 300 bytes gzipped and minified. It is very basic, but contains support for cross-domain requests back to somewhat older browsers (See Compatibility).
Fork of nanoajax to make more encapsulated
Install
Just include from /dist
<script src="/http.min.js"></script>
build from source with:
npm run build
Use
GET
http({url:'/some-get-url'}, function (code, responseText) { ... });
POST
http({url: '/some-post-url', method: 'POST', body: 'post=content&args=yaknow'}, function (code, responseText, request) {
    # code is response code
    # responseText is response body as a string
    # request is the xmlhttprequest, which has `getResponseHeader(header)` function
});
Documentation
Simple and small ajax decorator function for almost any browser. Takes a parameters object and a callback function.
Parameters:
url: string, requiredheaders: object of{header_name: header_value, ...}body:- string (sets content type to 'application/x-www-form-urlencoded' if not set in headers)
 - FormData (doesn't set content type so that browser will set as appropriate)
 
method: 'GET', 'POST', etc. Defaults to 'GET' or 'POST' based on bodycors: If your using cross-origin, you will need this true for IE8-9 (to use the XMLDomainRequest object, also see Compatibility)
The following parameters are passed directly onto the request object:
IMPORTANT NOTE: The caller is responsible for compatibility checking.
responseType: string, various compatibility, see XHR docs for enum optionswithCredentials: boolean, IE10+, CORS onlytimeout: long, ms timeout, IE8+onprogress: callback, IE10+
Callback function prototype:
statusCode: integer status or null- if request errors for some browsers (notably Chrome), this is 0 (and 
responseis "Error") 
- if request errors for some browsers (notably Chrome), this is 0 (and 
 response:- if 
responseTypeset and supported by browser, this is an object of some type (see docs) - otherwise if request completed, this is the string text of the response
 - if request is aborted, this is 
"Abort" - if request times out, this is 
"Timeout" - if request errors before completing (probably a CORS issue), this is 
"Error" 
- if 
 - request object
 
Returns the request object. So you can call .abort() or other methods
Compatibility
http works on android, iOS, IE8+, and all modern browsers, with some (known) caveats.
- Safari is conservative with cookies and will not allow cross-domain cookies to be set from domains that have never been visited by the user.
 - IE8 and IE9 do not support cookies in cross-domain requests in this library. There are other solutions out there, but this library has chosen small over edge case compatibility.