Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * AJAX Library
- *
- * Author: Tomas Bartoli <tomasbartoli1992@gmail.com>
- * Date ...
- */
- "use strict";
- $ajax.CONF = {};
- $ajax.CONF.SHOW_ERROR = true;
- $ajax.CONF.DEBUG = true;
- function $ajax($params) {
- var _xml_http = null;
- var _show_error = $ajax.CONF.SHOW_ERROR;
- var _debug = $ajax.CONF.DEBUG;
- var _data = [];
- var _init_xml_http = function() {
- if (window.XMLHttpRequest) {
- return new XMLHttpRequest();
- }
- else {
- return new ActiveXObject("Microsoft.XMLHTTP");
- }
- }
- if (!$params.url || !$params.type) {
- if (_show_error) {
- if (!$params.url) {
- alert("$ajax::show_error: Url parameter is not optional.");
- }
- else {
- alert("$ajax::show_error: Type parameter is not optional.");
- }
- }
- return;
- }
- if (!$params.method) {
- $params.method = true;
- }
- _xml_http = _init_xml_http();
- _xml_http.onreadystatechange = function() {
- if (_xml_http.readyState == 4 && _xml_http.status == 200) {
- if ($params.success) {
- $params.success(_xml_http.responseText, _xml_http.readyState);
- if (_debug) {
- console.log("$ajax::debug: Response Data:" + _xml_http.responseText);
- }
- }
- }
- else if (_show_error) {
- alert("$ajax::show_error: FailureResponse\nState:" + _xml_http.readyState + "\nStatus:" + _xml_http.status);
- }
- }
- if ($params.data === 'object') {
- for (var key in $params.data) {
- var _tmp = $params.data[key];
- if(Object.prototype.toString.call(_tmp) == "[object Array]") {
- for(var i = 0, j = _tmp.length; i < j; i++) {
- _data.push(encodeURIComponent(key) + "[]=" + encodeURIComponent(_tmp[i]));
- }
- }
- else {
- _data.push(encodeURIComponent(key) + "=" + encodeURIComponent(_tmp));
- }
- }
- _data = _data.join("&");
- }
- switch ($params.type) {
- case "GET":
- _xml_http.open("GET", $params.url + "?" + _data, $params.method);
- _xml_http.send();
- break;
- case "POST":
- _xml_http.open("GET", $params.url, $params.method);
- _xml_http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
- _xml_http.send(_data);
- break;
- default:
- if (_show_error) {
- alert("$ajax::show_error: Parameter allowed: 'GET' or 'POST'.");
- }
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement