2010-10-22 6 views
2

Je cherche une bibliothèque Javascript qui a seulement AJAX aucune autre caractéristique. par exemple. un petit wrapper XMLHttp simple.AJAX Seulement Javascript Library

+8

Je recommande fortement [vapor.js] (http://vaporjs.com/) –

+2

@ Nick: vapor.js '=>' genius –

+0

Vous voulez vraiment juste un Wrapper Http XML? Pourquoi ne pas en écrire un vous-même? Ce serait probablement plus rapide que de chercher et d'attendre des réponses ici ... –

Répondre

0

Voici un petit morceau d'un script PHP JavaScript que j'ai écrit il y a longtemps quand je ne savais pratiquement rien sur JavaScript ... il contient à peine des méthodes AJAX, juste des fonctions wrapper qui communiquent avec un backend PHP afin de permettre PHP pour faire tout le travail ...

En toute honnêteté, pour obtenir ce que vous cherchez ... asseyez-vous et écrivez-vous une bibliothèque AJAX avec toutes les fonctions d'aide communes. Cela devrait vous prendre quelques heures au maximum.

Le 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'); 

Le 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... **/ 
?> 
+10

Ce n'est pas ce que je cherche. –

1

microajax est ce que je me suis installé sur.

1

Ce n'est pas une bibliothèque, mais il est un "petit XMLHTTP simple wrapper" J'ai fait:

//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(); 
    } 

} 
+3

Down-votes sont acceptables, mais s'il vous plaît ajouter un commentaire expliquant votre raisonnement. Stack Exchange est une plateforme d'apprentissage après tout. –