Skip to content

The simple HTTP / RESTful requests library of JavaScript (XHR).

License

Notifications You must be signed in to change notification settings

pandao/httpx.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

httpx.js

The simple HTTP / RESTful requests library of JavaScript (XHR).

Basic support XHR1 (XMLHttpRequest Level 1), Promise and XHR2 (XMLHttpRequest Level 2) support later.

Install

bower install httpx.js --save

# or
npm install httpx.js --save

Methods

  • GET
  • POST
  • PUT
  • PATCH
  • DELETE
  • Other
  • JSON (alias getJSON)
  • JSONP
  • getScript

Compatibility

  • Firefox 4.0+
  • Chrome 7+
  • IE 9+
  • Opera 11.60+
  • Safari 5.1.4+

Examples

Description :

get|post|put|patch|delete|json(alias getJSON)(url, [data], [callback], [error], [options]);

GET :

httpx.get("http://localhost/http-test/get.php?foo=Level1&bar=XHR&zh=中文", function(data) {
    //console.log(data, this);
}, function(method, url) {
    console.error("Custom Error", method, url, this.status, this.statusText);
});

POST :

httpx.post("http://localhost/http-test/post.php?edfd=eedfd&dfsdf=ere", {
    a : 12,
    b : "bbbb",
    c : 123489
}, function(data) {
    console.log(data, this);
});

PUT :

httpx.put("http://localhost/http-test/put.php?edfd=eedfd&dfsdf=ere", {
    a : 12,
    b : "bbbb",
    c : 123489
}, function(data) {
    console.log(data, this);
});

PATCH :

httpx.patch("http://localhost/http-test/patch.php?edfd=eedfd&dfsdf=ere", {
    a : 12,
    b : "bbbb",
    c : 123489
}, function(data) {
    console.log(data, this);
});

DELETE :

httpx.delete("http://localhost/http-test/delete.php?edfd=eedfd&dfsdf=ere", {
    a : 12,
    b : "bbbb",
    c : 123489
}, function(data) {
    console.log(data, this);
});

JSON (get json) :

// Alias getJSON(), like jQuery
httpx.json("http://localhost/http-test/get-json.php?temp="+(new Date).getTime(), {
    test : 123
}, function(json) {
    console.log("get json =>", json);
});

JSONP :

jsonp(url, [data], [callback], [callbackName]); // callbackName for query string name
httpx.jsonp("http://192.168.1.2/http-test/jsonp.php?temp="+(new Date).getTime(), {
    test : 123
}, function(json) {
    console.log("jsonp =>", json);
}, "callback");

getScript :

httpx.getScript("http://192.168.1.2/http-test/test.js", function() {
    test();
});

Options

defaults :

{
    debug         : false,
    async         : true,
    timeout       : 3000,
    method        : "GET",
    url           : "",
    data          : "",
    dataType      : "text",
    headers       : {},
    contentType   : "text/plain; charset=UTF-8",
    jsonp         : "callback",    // for query string
    xhrFields     : { //  like jQuery xhrFields options
        withCredentials : false
    },
    sendBefore    : function(xhr) {
        return xhr; // or return this, this == xhr
    },
    success       : function() {},
    error         : function(method, url) {},
    ontimeout     : function(method, url) {}
}

usage :

httpx.request({
    url : "http://localhost/http-test/head.php",
    method : "HEAD",  // Custom http method
    headers : {},  // Custom http headers
    success : function(data) {
    	console.log(data, this, this.$request);
    }
});

httpx.get({
    url : "http://localhost/http-test/get.php?foo=bar",
    headers : {
    	"xxxxxxx" : "xxxxx"
    },
    success : function(data) {
    	console.log(data, this, this.$request);
    }
});

httpx.post({
    url : "http://localhost/http-test/post.php?foo=bar",
    data : {
    	id : 123,
    	title : "xxxxx"
    },
    headers : {
    	"xxxxxxx" : "xxxxx"
    },
    success : function(data) {
    	console.log(data, this, this.$request);
    }
});

// put/patch/delete/json ...

Development

# init
npm install

# develop
gulp watch
# or npm run dev

# production
gulp build
# or npm run build

Changes

Change logs

License

The MIT License.

Copyright (c) 2015~2017 Pandao

About

The simple HTTP / RESTful requests library of JavaScript (XHR).

Resources

License

Stars

Watchers

Forks

Packages

No packages published