Подтвердить что ты не робот

Есть только Ajax часть jQuery?

Есть ли только часть Ajax jQuery? Дело в том, что мне не нужна вся библиотека, но только ее часть Ajax (мне нужно включить эту часть на несколько фреймов).

4b9b3361

Ответ 1

Обновление 2016

Вы можете использовать этот инструмент для создания собственной пользовательской версии jQuery.

jQuery Builder

Как в jQuery 2.1.1

Максимальный размер файла неограничен: 241.55 Kb

Ajax Только minified: 49.60 КБ

Это сокращение 5x.

введите описание изображения здесь

Ответ 2

Как уже сказал Дарин, все или ничего. Функции JQuery Ajax тесно переплетаются с остальными функциями.

Есть несколько других автономных библиотек Ajax, таких как Matt Kruse Ajax toolbox - возможно, это помогает.

Я бы рассмотрел загрузку полной библиотеки jQuery. Если вы ссылаетесь на jQuery на CDN, время загрузки будет незначительным.

Ответ 3

Как и в jQuery 1.8, вы можете это сделать: ССЫЛКА

Ответ 4

Вы можете просмотреть стандартные javascript-альтернативы jQuery в youmightnotneedjquery.com

Например, альтернативой $.ajax post является:

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

И альтернатива $.ajax get:

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

Ответ 5

Другой вариант - использовать встроенный fetch API, предоставляемый браузером.

Вот пример фрагмента:

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

Это сообщение в блоге - отличное введение в API и показывает больше случаев использования.

fetch пока не имеет полной поддержки кросс-браузера (я думаю, что в основном IE и Safari не хватает), но есть polyfill, который вы можете использовать до тех пор, пока не наступит этот день.

fetch polyfill: https://github.com/github/fetch

Старые браузеры также нуждаются в Promise polyfill (один вариант, другой вариант).

Ответ 7

Пользователь AMD, пожалуйста, прочитайте этот, мой ответ предназначен для создания одного файла.
Или просто используйте эту библиотеку: ded/reqwest (4 КБ, мин и gzip)


  • Загрузите исходный код и запустите npn i

  • Откройте /src/jquery.js и удалите любую moudle, которую вы не хотите, но держите "./exports/amd", "./exports/global"

    define([
        "./ajax",
        "./ajax/xhr",
        "./ajax/script",
        "./ajax/jsonp",
        "./exports/amd",
        "./exports/global"
    ], function (jQuery) {
        "use strict";
        return jQuery;
    });
    
  • Запустите grunt custom:-sizzle

  • Перейти к /dist и взять свою сборку

Модули в вашей сборке сейчас:

  • ядро ​​
  • отложила
  • Ajax

Размер:

  • просто построить: 85 KB
  • построить с min: 26 KB
  • построить с min и gzip: 10 KB

Ответ 8

Все или ничего. Конечно, jquery является открытым исходным кодом, и вы можете извлечь интересующую вас часть в своей собственной библиотеке (удачи с этим). Вы можете использовать CDN, который гарантирует, что большинство пользователей уже будут кэшироваться в своих браузерах, поэтому вы не должны беспокоиться о размере.

Ответ 9

Если вам действительно нужны только части Ajax jQuery, вы можете получить код из своего репозитория (https://github.com/jquery/jquery), взглянув на него вы бы хотели посмотреть "ajax.js" и "core.js" в каталоге "src". Затем вы захотите скомпилировать их вместе с компилятором закрытия или что-то в этом роде.

Но, как заявили другие, было бы намного проще просто загрузить его с одного из CDN (jQuery, Google, Microsoft), которые в любом случае будут кэшировать большинство пользователей.

Ответ 10

ДА, я просто сделал свое, http://noypi-linux.blogspot.com/2013/05/build-jquery-with-ajax-only.html

вам нужны только эти файлы (итоговое значение minified составляет около 30 КБ):

/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

Ответ 11

Существует не все, но вы можете, конечно, вырезать и вставить из существующего файла, а затем свернуть его.

Если вас просто беспокоит размер библиотеки, обслуживающей ее с CDN от Google, MS или jQuery, вероятно, потребуют меньше трафика данных, так как большинство браузеров уже имеют кешированные файлы.