58 lines
2.0 KiB
Markdown
58 lines
2.0 KiB
Markdown
|
# node-XMLHttpRequest #
|
||
|
|
||
|
node-XMLHttpRequest is a wrapper for the built-in http client to emulate the
|
||
|
browser XMLHttpRequest object.
|
||
|
|
||
|
This can be used with JS designed for browsers to improve reuse of code and
|
||
|
allow the use of existing libraries.
|
||
|
|
||
|
Note: This library currently conforms to [XMLHttpRequest 1](http://www.w3.org/TR/XMLHttpRequest/). Version 2.0 will target [XMLHttpRequest Level 2](http://www.w3.org/TR/XMLHttpRequest2/).
|
||
|
|
||
|
## Usage ##
|
||
|
|
||
|
Here's how to include the module in your project and use as the browser-based
|
||
|
XHR object.
|
||
|
|
||
|
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
|
||
|
var xhr = new XMLHttpRequest();
|
||
|
|
||
|
Note: use the lowercase string "xmlhttprequest" in your require(). On
|
||
|
case-sensitive systems (eg Linux) using uppercase letters won't work.
|
||
|
|
||
|
## Versions ##
|
||
|
|
||
|
Prior to 1.4.0 version numbers were arbitrary. From 1.4.0 on they conform to
|
||
|
the standard major.minor.bugfix. 1.x shouldn't necessarily be considered
|
||
|
stable just because it's above 0.x.
|
||
|
|
||
|
Since the XMLHttpRequest API is stable this library's API is stable as
|
||
|
well. Major version numbers indicate significant core code changes.
|
||
|
Minor versions indicate minor core code changes or better conformity to
|
||
|
the W3C spec.
|
||
|
|
||
|
## License ##
|
||
|
|
||
|
MIT license. See LICENSE for full details.
|
||
|
|
||
|
## Supports ##
|
||
|
|
||
|
* Async and synchronous requests
|
||
|
* GET, POST, PUT, and DELETE requests
|
||
|
* All spec methods (open, send, abort, getRequestHeader,
|
||
|
getAllRequestHeaders, event methods)
|
||
|
* Requests to all domains
|
||
|
|
||
|
## Known Issues / Missing Features ##
|
||
|
|
||
|
For a list of open issues or to report your own visit the [github issues
|
||
|
page](https://github.com/driverdan/node-XMLHttpRequest/issues).
|
||
|
|
||
|
* Local file access may have unexpected results for non-UTF8 files
|
||
|
* Synchronous requests don't set headers properly
|
||
|
* Synchronous requests freeze node while waiting for response (But that's what you want, right? Stick with async!).
|
||
|
* Some events are missing, such as abort
|
||
|
* getRequestHeader is case-sensitive
|
||
|
* Cookies aren't persisted between requests
|
||
|
* Missing XML support
|
||
|
* Missing basic auth
|