Skip to content

Commit 83cbca6

Browse files
committed
Release v0.2.0
1 parent 5661fd5 commit 83cbca6

File tree

7 files changed

+109
-102
lines changed

7 files changed

+109
-102
lines changed

CHANGE.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,8 @@ Methods :
1414
- JSON
1515
- JSONP
1616
- getScript
17+
18+
### v0.2.0
19+
20+
- Using `addEventListener()` register XHR event;
21+
- Change `urlBuild()` to private function;

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "httpx.js",
3-
"version": "0.1.0",
3+
"version": "0.2.0",
44
"homepage": "https://github.com/pandao/httpx.js",
55
"authors": [
66
"pandao <272383090@qq.com>"

dist/httpx.js

Lines changed: 48 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
* httpx.js
33
*
44
* @file httpx.js
5-
* @version 0.1.0
5+
* @version 0.2.0
66
* @description The simple HTTP / RESTful requests library of JavaScript (XHR).
77
* @license MIT License
88
* @author Pandao
99
* {@link https://github.com/pandao/httpx.js}
10-
* @updateTime 2015-06-16
10+
* @updateTime 2015-06-17
1111
*/
1212

1313
(function(factory) {
@@ -32,7 +32,7 @@
3232
"use strict";
3333

3434
var httpx = {
35-
version : "0.1.0",
35+
version : "0.2.0",
3636

3737
/**
3838
* Create XHR object
@@ -103,7 +103,7 @@
103103

104104
//console.log("settings =>", settings);
105105

106-
var urlData = this.urlBuild(url, data);
106+
var urlData = urlBuild(url, data);
107107

108108
data = urlData.data;
109109

@@ -114,7 +114,7 @@
114114

115115
var xhr = this.xhr();
116116

117-
xhr.onreadystatechange = function() {
117+
var readyStateChange = function(e) {
118118

119119
if ( xhr.readyState === 4 )
120120
{
@@ -139,19 +139,20 @@
139139
}
140140
else
141141
{
142-
settings.error.bind(xhr)(method, url);
142+
settings.error.bind(xhr)(method, url, e);
143143
}
144144
}
145-
146-
};
147-
148-
xhr.ontimeout = function() {
149-
settings.ontimeout.bind(xhr)(method, url);
150-
};
151-
152-
xhr.onerror = function() {
153-
settings.error.bind(xhr)(method, url);
154-
};
145+
};
146+
147+
xhr.addEventListener("readystatechange", readyStateChange);
148+
149+
xhr.addEventListener("error", function(e) {
150+
settings.error.bind(xhr)(method, url, e);
151+
});
152+
153+
xhr.addEventListener("timeout", function(e) {
154+
settings.ontimeout.bind(xhr)(method, url, e);
155+
});
155156

156157
xhr.open(method, url, true);
157158

@@ -284,7 +285,7 @@
284285
* @return {void}
285286
*/
286287

287-
delete : function(url, data, callback, error) {
288+
"delete" : function(url, data, callback, error) {
288289
this.exec("DELETE", url, data, callback, error);
289290
},
290291

@@ -343,35 +344,6 @@
343344
this.json(url, data, callback, error);
344345
},
345346

346-
/**
347-
* Query url & strings build
348-
*
349-
* @param {string} url request url
350-
* @param {object} data request datas
351-
* @return {object}
352-
*/
353-
354-
urlBuild : function(url, data) {
355-
356-
if (typeof data === "object")
357-
{
358-
var temp = [];
359-
360-
for (var i in data) {
361-
temp.push(i + "=" + encodeURIComponent(data[i]));
362-
}
363-
364-
data = temp.join("&");
365-
}
366-
367-
url = url + ( (url.indexOf("?") < 0) ? ( (data === "" || !data) ? "" : "?" ) : (data === "" || !data) ? "" : "&") + data;
368-
369-
return {
370-
url : url,
371-
data : data
372-
};
373-
},
374-
375347
/**
376348
* JSONP method
377349
*
@@ -393,7 +365,7 @@
393365
data = "";
394366
}
395367

396-
var urlData = this.urlBuild(url, data);
368+
var urlData = urlBuild(url, data);
397369

398370
url = urlData.url;
399371
data = urlData.data;
@@ -477,6 +449,35 @@
477449
head.appendChild(script);
478450
}
479451
};
452+
453+
/**
454+
* Query url & strings build
455+
*
456+
* @param {string} url request url
457+
* @param {object} data request datas
458+
* @return {object}
459+
*/
460+
461+
function urlBuild(url, data) {
462+
463+
if (typeof data === "object")
464+
{
465+
var temp = [];
466+
467+
for (var i in data) {
468+
temp.push(i + "=" + encodeURIComponent(data[i]));
469+
}
470+
471+
data = temp.join("&");
472+
}
473+
474+
url = url + ( (url.indexOf("?") < 0) ? ( (data === "" || !data) ? "" : "?" ) : (data === "" || !data) ? "" : "&") + data;
475+
476+
return {
477+
url : url,
478+
data : data
479+
};
480+
};
480481

481482
return httpx;
482483
});

dist/httpx.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/get.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ <h1>GET Examples</h1>
3737
httpx.get("http://localhost/httpx.js/examples/php/get2.php?foo=bar&zh=中文", {test : 123}, function(data) {
3838
$("output3").innerText = this.responseURL + "\n\n" + data;
3939
console.log(data, this);
40-
}, function(method, url) {
40+
}, function(method, url, event) {
4141
var error = method + " Error : " + " " + url + " " + this.status + " " + this.statusText;
42-
console.error(error);
42+
console.error(error, event);
4343
$("output3").innerText = error;
4444
});
4545

@@ -56,9 +56,9 @@ <h1>GET Examples</h1>
5656
$("output4").innerText = this.responseURL + "\n\n" + data;
5757
console.log(data, this);
5858
},
59-
error : function(method, url) {
59+
error : function(method, url, event) {
6060
var error = method + " Error : " + " " + url + " " + this.status + " " + this.statusText;
61-
console.error(error);
61+
console.error(error, event);
6262
$("output4").innerText = error;
6363
}
6464
});
@@ -76,9 +76,9 @@ <h1>GET Examples</h1>
7676
$("output5").innerText = this.responseURL + "\n\n" + data;
7777
console.log(data, this);
7878
},
79-
error : function(method, url) {
79+
error : function(method, url, event) {
8080
var error = method + " Error 2 : " + " " + url + " " + this.status + " " + this.statusText;
81-
console.error(error);
81+
console.error(error, event);
8282
$("output5").innerText = error;
8383
}
8484
});

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "httpx.js",
3-
"version": "0.1.0",
3+
"version": "0.2.0",
44
"description": "The simple HTTP / RESTful requests library of JavaScript (XHR).",
55
"main": "src/httpx.js",
66
"directories": {

src/httpx.js

Lines changed: 46 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"use strict";
2121

2222
var httpx = {
23-
version : "0.1.0",
23+
version : "0.2.0",
2424

2525
/**
2626
* Create XHR object
@@ -91,7 +91,7 @@
9191

9292
//console.log("settings =>", settings);
9393

94-
var urlData = this.urlBuild(url, data);
94+
var urlData = urlBuild(url, data);
9595

9696
data = urlData.data;
9797

@@ -102,7 +102,7 @@
102102

103103
var xhr = this.xhr();
104104

105-
xhr.onreadystatechange = function() {
105+
var readyStateChange = function(e) {
106106

107107
if ( xhr.readyState === 4 )
108108
{
@@ -127,19 +127,20 @@
127127
}
128128
else
129129
{
130-
settings.error.bind(xhr)(method, url);
130+
settings.error.bind(xhr)(method, url, e);
131131
}
132132
}
133-
134-
};
135-
136-
xhr.ontimeout = function() {
137-
settings.ontimeout.bind(xhr)(method, url);
138-
};
139-
140-
xhr.onerror = function() {
141-
settings.error.bind(xhr)(method, url);
142-
};
133+
};
134+
135+
xhr.addEventListener("readystatechange", readyStateChange);
136+
137+
xhr.addEventListener("error", function(e) {
138+
settings.error.bind(xhr)(method, url, e);
139+
});
140+
141+
xhr.addEventListener("timeout", function(e) {
142+
settings.ontimeout.bind(xhr)(method, url, e);
143+
});
143144

144145
xhr.open(method, url, true);
145146

@@ -272,7 +273,7 @@
272273
* @return {void}
273274
*/
274275

275-
delete : function(url, data, callback, error) {
276+
"delete" : function(url, data, callback, error) {
276277
this.exec("DELETE", url, data, callback, error);
277278
},
278279

@@ -331,35 +332,6 @@
331332
this.json(url, data, callback, error);
332333
},
333334

334-
/**
335-
* Query url & strings build
336-
*
337-
* @param {string} url request url
338-
* @param {object} data request datas
339-
* @return {object}
340-
*/
341-
342-
urlBuild : function(url, data) {
343-
344-
if (typeof data === "object")
345-
{
346-
var temp = [];
347-
348-
for (var i in data) {
349-
temp.push(i + "=" + encodeURIComponent(data[i]));
350-
}
351-
352-
data = temp.join("&");
353-
}
354-
355-
url = url + ( (url.indexOf("?") < 0) ? ( (data === "" || !data) ? "" : "?" ) : (data === "" || !data) ? "" : "&") + data;
356-
357-
return {
358-
url : url,
359-
data : data
360-
};
361-
},
362-
363335
/**
364336
* JSONP method
365337
*
@@ -381,7 +353,7 @@
381353
data = "";
382354
}
383355

384-
var urlData = this.urlBuild(url, data);
356+
var urlData = urlBuild(url, data);
385357

386358
url = urlData.url;
387359
data = urlData.data;
@@ -465,6 +437,35 @@
465437
head.appendChild(script);
466438
}
467439
};
440+
441+
/**
442+
* Query url & strings build
443+
*
444+
* @param {string} url request url
445+
* @param {object} data request datas
446+
* @return {object}
447+
*/
448+
449+
function urlBuild(url, data) {
450+
451+
if (typeof data === "object")
452+
{
453+
var temp = [];
454+
455+
for (var i in data) {
456+
temp.push(i + "=" + encodeURIComponent(data[i]));
457+
}
458+
459+
data = temp.join("&");
460+
}
461+
462+
url = url + ( (url.indexOf("?") < 0) ? ( (data === "" || !data) ? "" : "?" ) : (data === "" || !data) ? "" : "&") + data;
463+
464+
return {
465+
url : url,
466+
data : data
467+
};
468+
};
468469

469470
return httpx;
470471
});

0 commit comments

Comments
 (0)