Is er een jQuery stand-alone Ajax-module?

Is er een manier om de Ajax-module van jQuery te krijgen? Het punt is dat ik niet de hele bibliotheek nodig heb, maar alleen de Ajax-module (ik moet deze module in verschillende iframes opnemen).


Antwoord 1, autoriteit 100%

2016 bijwerken

Je kunt deze tool gebruiken om je eigen aangepaste jQuery-versie te bouwen.

jQuery Builder

Vanaf jQuery 2.1.1

Volledige bestandsgrootte is: 241,55 Kb

Alleen Ajax verkleind is: 49.60 Kb

Dat is een 5xverkleining.

voer hier de afbeeldingsbeschrijving in


Antwoord 2, autoriteit 34%

Zoals Darin al zegt, het is alles of niets. De Ajax-functies van JQuery zijn nauw verweven met de rest van de functionaliteit.

Er zijn een paar andere, op zichzelf staande Ajax-bibliotheken, zoals Matt Kruse’s Ajax-toolbox– misschien helpt dat .

Ik zou overwegen de volledige jQuery-bibliotheek te laden. Als je linkt naar jQuery op een CDN,zijn de laadtijden minuscuul.


Antwoord 3, autoriteit 29%

Een andere optie zou zijn om de ingebouwde fetchAPI te gebruiken die door de browser wordt geleverd.

Hier is een voorbeeldfragment:

fetch('http://localhost:3000/users.json', {
  method: 'POST', 
  mode: 'cors', 
  redirect: 'follow',
  body: JSON.stringify({
     user: {
       firstName: 'john',
       lastName: 'doe'
     }
  }),
  headers: new Headers({ 'Content-Type': 'application/json' })
}).then(function() {
  /* handle response */
});

Deze blogpostis een geweldige introductie tot de API en toont meer gebruiksscenario’s.

fetchheeft nog geen volledige ondersteuning voor meerdere browsers (ik denk dat vooral IE en Safari ontbreken), maar er is polyfill die je kunt gebruiken tot die dag komt.

fetchpolyfill: https://github.com/github/fetch

Oudere browsers hebben ook een Promisepolyfill nodig (één optie, een andere optie).


Antwoord 4, autoriteit 23%

Vanaf jQuery 1.8 kunt u dit doen: LINK


Antwoord 5, autoriteit 11%

Je kunt standaard javascript-alternatieven voor jQuery bekijken op youmightnotneedjquery.com

Bijvoorbeeld het alternatief voor $.ajaxpostis:

var request = new XMLHttpRequest();
request.open('POST', '/my/url', true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.send(data);

En het alternatief voor $.ajaxgetis:

var request = new XMLHttpRequest();
request.open('GET', '/my/url', true);
request.onload = function() {
  if (request.status >= 200 && request.status < 400) {
    // Success!
    var resp = request.responseText;
  } else {
    // We reached our target server, but it returned an error
  }
};
request.onerror = function() {
  // There was a connection error of some sort
};
request.send();

Antwoord 6, autoriteit 9%

Ik heb hier een aangepaste versie van jQuery 1.7.1 gemaakt:

https://github.com/dtjm/jquery/tree/ajaxonly


Antwoord 7, autoriteit 9%

AMD-gebruiker, lees dit, mijn antwoord is voor het bouwen van een enkel bestand.
Of gebruik gewoon deze bibliotheek: ded / reqwest(4 KB, min & gzip)


  1. Download broncodeen voer npn i

  2. Open /src/jquery.jsen verwijder alle vormen die je niet wilt, maar bewaar "./exports/amd", "./exports/global"

    define([
        "./ajax",
        "./ajax/xhr",
        "./ajax/script",
        "./ajax/jsonp",
        "./exports/amd",
        "./exports/global"
    ], function (jQuery) {
        "use strict";
        return jQuery;
    });
    
  3. Voer grunt custom:-sizzle

  4. uit

  5. Ga naar /disten maak je build

Modules nu in uw build:

  • kern
  • uitgesteld
  • ajax

Maat:

  • net gebouwd: 85 KB
  • gebouwd met min: 26 KB
  • bouwen met min & gzip: 10 KB

Antwoord 8, autoriteit 3%

Als je echt alleen de Ajax-onderdelen van jQuery wilt, kun je de code uit hun repository halen (https:// github.com/jquery/jquery), als je ernaar kijkt, zou je naar “ajax.js” en “core.js” in de map “src” willen kijken. Je zou ze dan samen met de sluitingscompiler of zoiets willen compileren.

Maar zoals anderen al zeiden, zou het een stuk eenvoudiger zijn om het gewoon te laden vanaf een van de CDN’s (jQuery, Google, Microsoft) die de meeste gebruikers toch in de cache hebben opgeslagen.


Antwoord 9, autoriteit 3%

JA, ik heb net de mijne gedaan,
http://noypi-linux.blogspot.com /2013/05/build-jquery-with-ajax-only.html

je hebt alleen deze bestanden nodig (het resultaat is ongeveer 30Kb verkleind):

/d/dev/javascript/jquery/jquery/src/intro.js
/d/dev/javascript/jquery/jquery/src/core.js
/d/dev/javascript/jquery/jquery/src/callbacks.js
/d/dev/javascript/jquery/jquery/src/deferred.js
/d/dev/javascript/jquery/jquery/src/support.js
/d/dev/javascript/jquery/jquery/src/data.js
/d/dev/javascript/jquery/jquery/src/event.js
/d/dev/javascript/jquery/jquery/src/serialize.js
/d/dev/javascript/jquery/jquery/src/ajax.js
/d/dev/javascript/jquery/jquery/src/ajax/xhr.js
/d/dev/javascript/jquery/jquery/src/exports.js
 /d/dev/javascript/jquery/jquery/src/outro.js

Antwoord 10, autoriteit 3%

Update:deze bibliotheek is verwijderd van GitHub, ik raad aan om Fetch APIin plaats daarvan. Alle moderne browsers ondersteunen het zonder IE.

Oud antwoord:
Je kunt AJAJproberen. Het is een heel kleine (minder dan 1 kb gzipped) bibliotheek om ajax-oproepen te maken. En de syntaxis lijkt erg op jQuery.

Bijvoorbeeld:

ajaj({
  method: "POST",
  url: "/path/to/request",
  data: {
    name: "AJAJ",
    version: "1.0.0",
  },
  success: function (data) {
    console.log(data);
  },
  fail: function (error) {
    console.log(error);
  },
});

Antwoord 11

Het is alles of niets. Natuurlijk is jQuery open source en kun je het gedeelte waarin je geïnteresseerd bent uitpakken in je eigen bibliotheek (veel succes hiermee). U kunt overwegen een CDN te gebruiken dat ervoor zorgt dat de meeste gebruikers het al in hun browser in de cache hebben staan, dus u hoeft zich geen zorgen te maken over de grootte.


Antwoord 12

Er is geen standaard, maar u kunt natuurlijk uit het bestaande bestand knippen en plakken en het vervolgens minimaliseren.

Als u zich alleen zorgen maakt over de grootte van de bibliotheek die deze vanaf een CDN van Google bedient, heeft MS of jQuery waarschijnlijk minder dataverkeer nodig, aangezien de bestanden in de meeste browsers al in de cache zijn opgeslagen.

Other episodes