AJAX Only Javascript Library - PullRequest
       1

AJAX Only Javascript Library

2 голосов
/ 22 октября 2010

Я ищу библиотеку Javascript, в которой нет только AJAX. например Небольшой Простой XMLHttp Wrapper.

Ответы [ 3 ]

1 голос
/ 24 октября 2013

microajax - это то, на чем я остановился.

1 голос
/ 23 июля 2014

Это не библиотека, а "Маленький простой XMLHttp Wrapper", который я сделал:

//params format:"bob=hi&id=1295&lol=haha"
function ajax_post(post_url,params,success_callback,fail_callback,timeout)
{
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open("POST",post_url, true);

    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", params.length);
    //xmlHttp.setRequestHeader("Connection", "close");

    xmlHttp.onreadystatechange=function()
    {
        if (xmlHttp.readyState == 4 ) 
        {
            clearTimeout(xmlHttpTimeout); 
            if(xmlHttp.status == 200)
            {
                success_callback();
            }
            else 
            {
                    fail_callback();
            }
        }
    }
    xmlHttp.send(params);

    var xmlHttpTimeout=setTimeout(ajaxTimeout,timeout);
    function ajaxTimeout()
    {
       xmlHttp.abort();
       fail_callback();
    }

}

function ajax_get(url,success_callback,fail_callback,timeout)
{
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open("GET",url, true);

    xmlHttp.onreadystatechange=function()
    {
        if (xmlHttp.readyState == 4 ) 
        {
            clearTimeout(xmlHttpTimeout); 
            if(xmlHttp.status == 200)
            {
                success_callback(xmlHttp.responseText);
            }
            else 
            {
                    fail_callback();
            }
        }
    }
    xmlHttp.send();

    var xmlHttpTimeout=setTimeout(ajaxTimeout,timeout);
    function ajaxTimeout()
    {
       xmlHttp.abort();
       fail_callback();
    }

} 
0 голосов
/ 22 октября 2010

Вот небольшая часть PHP-оболочки PHP, которую я написал давным-давно, когда я практически ничего не знал о JavaScript ... она едва содержит какие-либо AJAX-методы, только функции-оболочки, которые взаимодействуют с бэкэндом PHP, чтобы позволить PHP сделать всю работу ...

Честно говоря, чтобы получить то, что вам нужно ... просто сядьте и напишите себе библиотеку AJAX со всеми распространенными вспомогательными функциями. Это займет максимум несколько часов.

Javascript:

(function() {

var
    PHPJS = window.PHPJS = window.$ = function() {
      return new PHPJS.Strings;
  };

PHPJS.Strings = PHPJS.prototype = {

    InitAJAX: function(Library, ServerString)
    {
        var ResultCache = document.body;
        var FunctionRequest;
        try {
            FunctionRequest = new XMLHttpRequest();
        } catch (e) {
            try {
                FunctionRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    FunctionRequest = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {
                    throw new Error("The XMLHttpRequest() object is not supported by your browser.")
                    return false;
                }
            }
        }

        FunctionRequest.onreadystatechange = function() {
            if (FunctionRequest.readyState == 4 && FunctionRequest.status == 200) {
                ResultCache.innerHTML = FunctionRequest.responseText;
                return FunctionRequest.responseText;
            }
        } 

        switch (Library) {
            case 'Arrays' :
            FunctionRequest.open("GET", "functions/arrays-lib.php" + ServerString, true);
            break;
            case 'Math' :
            FunctionRequest.open("GET", "functions/math-lib.php" + ServerString, true);
            break;
            case 'Strings' :
            FunctionRequest.open("GET", "functions/strings-lib.php" + ServerString, true);
            break;
        }
        FunctionRequest.send(null);
    },

    /* String Functions */
    addcslashes: function(str, charlist)
    {
        return this.InitAJAX('Strings','?function=addcslashes&String='+str+'&Charlist='+charlist);
    },
    addslashes: function(str)
    {
        return this.InitAJAX('Strings','?function=addslashes&String='+str);
    },
    bin2hex: function(str)
    {
        return this.InitAJAX('Strings','?function=bin2hex&String='+str);
    },
    chop: function(str,charlist)
    {
        return this.InitAJAX('Strings','?function=chop&String='+str+'&Charlist='+charlist);
    },
    chr: function(int)
    {
        return this.InitAJAX('Strings','?function=chr&Int='+int);
    },
    chunk_split: function(str, chunklen, end)
    {
        return this.InitAJAX('Strings','?function=chunk_split&String='+str+'&Chunklen='+chunklen+'&End='+end);
    },
    convert_cyr_string: function(str)
    {
        return this.InitAJAX('Strings','?function=convert_cyr_string');
    },

    /* more functions... */
}

})();

//PHPJS.bin2hex('afsdfadsafdsafdasfsaf');   

PHP:

<?php
switch($_GET['function']) {
    case 'addcslashes' :    
        $charlist = (@$_GET['Charlist']) ? ','.$_GET['Charlist'] : '';
        echo addcslashes($_GET['String'], $charlist);
    break;
    case 'addslashes' : 
        echo addslashes($_GET['String']);
    break;
    case 'bin2hex' :    
        echo bin2hex($_GET['String']);
    break;
    case 'chop' :   
        $charlist = (@$_GET['Charlist']) ? ','.$_GET['Charlist'] : '';
        echo rtrim($_GET['String'], $charlist);
    break;
    case 'chr' :
        echo chr($_GET['Int']);
    break;
    case 'chunk_split' :
        echo chunk_split($_GET['String'], @$_GET['Chunklen'], @$_GET['End']);
    break;
        /** ...etc, etc... **/
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...