@fdaciuk/ajax
Advanced tools
Comparing version
/**! | ||
* ajax - v0.2.3 | ||
* ajax - v1.0.1 | ||
* Ajax module in Vanilla JS | ||
* https://github.com/fdaciuk/ajax | ||
* Fri Mar 04 2016 22:07:49 GMT-0300 (BRT) | ||
* Fri Mar 04 2016 23:22:53 GMT-0300 (BRT) | ||
* MIT (c) Fernando Daciuk | ||
*/ | ||
!function(e,t){"use strict";"function"==typeof define&&define.amd?define("ajax",t):"object"==typeof exports?exports=module.exports=t():(e.Ajax=t(),e.ajax=t())}(this,function(){"use strict";function e(t){var n={},o={};return void 0!==this&&console.warn("Instance with `new` is deprecated. This will be removed in `v2.0.0` version."),this instanceof e&&console.warn("Ajax constructor is deprecated. This will be removed in `v2.0.0`. Use ajax (lowercase version) without `new` keyword instead"),o.methods={then:function(){},"catch":function(){},always:function(){},done:function(){},error:function(){}},t=t||{},n.get=function(e){return o.XHRConnection("GET",e,null,t)},n.post=function(e,n){return o.XHRConnection("POST",e,n,t)},n.put=function(e,n){return o.XHRConnection("PUT",e,n,t)},n["delete"]=function(e,n){return o.XHRConnection("DELETE",e,n,t)},o.XHRConnection=function(e,t,n,r){var s=new XMLHttpRequest;return s.open(e,t||"",!0),o.setHeaders(s,r.headers),s.addEventListener("readystatechange",o.ready,!1),s.send(o.objectToQueryString(n)),o.promises()},o.setHeaders=function(e,t){t=t||{},o.hasContentType(t)||(t["Content-Type"]="application/x-www-form-urlencoded"),Object.keys(t).forEach(function(n){e.setRequestHeader(n,t[n])})},o.hasContentType=function(e){return Object.keys(e).some(function(e){return"content-type"===e.toLowerCase()})},o.ready=function(){var e=this;e.readyState===e.DONE&&(e.removeEventListener("readystatechange",o.ready,!1),o.methods.always.apply(o.methods,o.parseResponse(e)),e.status>=200&&e.status<300?(o.methods.then.apply(o.methods,o.parseResponse(e)),o.methods.done.apply(o.methods,o.parseResponse(e))):(o.methods["catch"].apply(o.methods,o.parseResponse(e)),o.methods.error.apply(o.methods,o.parseResponse(e))))},o.parseResponse=function(e){var t;try{t=JSON.parse(e.responseText)}catch(n){t=e.responseText}return[t,e]},o.promises=function(){var e={};return Object.keys(o.methods).forEach(function(t){e[t]=o.generatePromise.call(this,t)},this),e},o.generatePromise=function(e){return function(t){return o.generateDeprecatedMessage(e),o.methods[e]=t,this}},o.generateDeprecatedMessage=function(e){var t="@fdaciuk/ajax: `%s` is deprecated and will be removed in v2.0.0. Use `%s` instead.";switch(e){case"done":console.warn(t,"done","then");break;case"error":console.warn(t,"error","catch")}},o.objectToQueryString=function(e){return o.isObject(e)?o.getQueryString(e):e},o.getQueryString=function(e){return Object.keys(e).map(function(t){return[encodeURIComponent(t),"=",encodeURIComponent(e[t])].join("")}).join("&")},o.isObject=function(e){return"[object Object]"===Object.prototype.toString.call(e)},n}return e}); | ||
!function(e,t){"use strict";"function"==typeof define&&define.amd?define("ajax",t):"object"==typeof exports?exports=module.exports=t():(e.Ajax=t(),e.ajax=t())}(this,function(){"use strict";function e(t){var n={},o={};return void 0!==this&&console.warn("Instance with `new` is deprecated. This will be removed in `v2.0.0` version."),this instanceof e&&console.warn("Ajax constructor is deprecated. This will be removed in `v2.0.0`. Use ajax (lowercase version) without `new` keyword instead"),o.methods={then:function(){},"catch":function(){},always:function(){},done:function(){},error:function(){}},t=t||{},n.get=function(e){return o.XHRConnection("GET",e,null,t)},n.post=function(e,n){return o.XHRConnection("POST",e,n,t)},n.put=function(e,n){return o.XHRConnection("PUT",e,n,t)},n["delete"]=function(e,n){return o.XHRConnection("DELETE",e,n,t)},o.XHRConnection=function(e,t,n,r){var s=new XMLHttpRequest;return s.open(e,t||"",!0),o.setHeaders(s,r.headers),s.addEventListener("readystatechange",o.ready,!1),s.send(o.objectToQueryString(n)),o.promises()},o.setHeaders=function(e,t){t=t||{},o.hasContentType(t)||(t["Content-Type"]="application/x-www-form-urlencoded"),Object.keys(t).forEach(function(n){e.setRequestHeader(n,t[n])})},o.hasContentType=function(e){return Object.keys(e).some(function(e){return"content-type"===e.toLowerCase()})},o.ready=function(){var e=this;e.readyState===e.DONE&&(e.removeEventListener("readystatechange",o.ready,!1),o.methods.always.apply(o.methods,o.parseResponse(e)),e.status>=200&&e.status<300?(o.methods.then.apply(o.methods,o.parseResponse(e)),o.methods.done.apply(o.methods,o.parseResponse(e))):(o.methods["catch"].apply(o.methods,o.parseResponse(e)),o.methods.error.apply(o.methods,o.parseResponse(e))))},o.parseResponse=function(e){var t;try{t=JSON.parse(e.responseText)}catch(n){t=e.responseText}return[t,e]},o.promises=function(){var e={};return Object.keys(o.methods).forEach(function(t){e[t]=o.generatePromise.call(this,t)},this),e},o.generatePromise=function(e){return function(t){return o.generateDeprecatedMessage(e),o.methods[e]=t,this}},o.generateDeprecatedMessage=function(e){var t="@fdaciuk/ajax: `%s` is deprecated and will be removed in v2.0.0. Use `%s` instead.";switch(e){case"done":console.warn(t,"done","then");break;case"error":console.warn(t,"error","catch")}},o.objectToQueryString=function(e){return o.isObject(e)?o.getQueryString(e):e},o.getQueryString=function(e){return Object.keys(e).map(function(t){return[encodeURIComponent(t),"=",encodeURIComponent(e[t])].join("")}).join("&")},o.isObject=function(e){return"[object Object]"===Object.prototype.toString.call(e)},t.method&&t.url?o.XHRConnection(t.method,t.url,t.data||null,t):n}return e}); |
{ | ||
"name": "@fdaciuk/ajax", | ||
"description": "Ajax module in Vanilla JS", | ||
"version": "0.2.3", | ||
"version": "1.0.1", | ||
"main": "dist/ajax.min.js", | ||
@@ -9,2 +9,3 @@ "scripts": { | ||
"watch": "gulp", | ||
"lint": "gulp lint", | ||
"format": "standard-format -w", | ||
@@ -35,2 +36,11 @@ "deploy": "gulp deploy", | ||
"homepage": "https://github.com/fdaciuk/ajax", | ||
"standard": { | ||
"globals": [ | ||
"describe", | ||
"it", | ||
"beforeEach", | ||
"define", | ||
"XMLHttpRequest" | ||
] | ||
}, | ||
"devDependencies": { | ||
@@ -37,0 +47,0 @@ "body-parser": "^1.15.0", |
@@ -57,3 +57,3 @@ # Ajax | ||
```html | ||
<script src="//cdn.rawgit.com/fdaciuk/ajax/v0.2.3/dist/ajax.min.js"></script> | ||
<script src="//cdn.rawgit.com/fdaciuk/ajax/v1.0.1/dist/ajax.min.js"></script> | ||
``` | ||
@@ -101,2 +101,22 @@ | ||
**HTTP Methods** | ||
You may pass any HTTP method as you want, using `method` property: | ||
```js | ||
var request = ajax({ | ||
method: 'options', | ||
url: '/api/users', | ||
data: { | ||
user: 'john' | ||
} | ||
}); | ||
request.then(function(response) {...}); | ||
``` | ||
For using this kind of request, you must pass `url` property. | ||
The property `data` is optional, but may used to pass any data via `body` on request. | ||
**headers** | ||
@@ -119,2 +139,4 @@ | ||
You may use any of this methods, instead the above approach: | ||
### `get(url)` | ||
@@ -121,0 +143,0 @@ |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
11335
6.27%0
-100%241
10.05%