Javascript JQUERY AJAX: когда они реализованы - PullRequest
1 голос
/ 28 апреля 2010

Я изучаю JavaScript. Обшарил этот отличный сайт, чтобы собрать информацию. Продолжайте сталкиваться с вопросами / ответами о javascript, JQUERY, JQUERY с AJAX, javascript с JQUERY, только с AJAX. Мой вывод: все это индивидуально мощно и полезно. Мое замешательство: как определить, какую / какую комбинацию использовать?

Я пришел к выводу, что javascript легко доступен в большинстве браузеров. Например, я могу расширить простую HTML-страницу с помощью

<html>
<body>

<script type="text/javascript">
document.write("Hello World!");
</script>

</body>
</html>

Однако в рамках Python / DJANGO многие из этих вопросов связаны с JQUERY и AJAX. В какой момент или при каких обстоятельствах разработки я бы пришел к выводу, что один только javascript не собирается его «разрезать», и мне нужно реализовать JQUERY и / или AJAX и / или какую-то другую перестановку?

Ответы [ 3 ]

4 голосов
/ 28 апреля 2010
  • Javascript - это код, который запускается на стороне клиента в браузере.
  • AJAX - это термин, используемый для обозначения процесса подключения Javascript к веб-серверу напрямую и получения ответа, а не перехода пользователя на другую страницу
  • jQuery - это библиотека javascript, предоставляющая простую в использовании абстракцию поверх AJAX и браузера DOM
  • Django - это код Python, который запускает на стороне сервера

В некоторых ситуациях вы можете выполнять одну и ту же операцию на клиенте или на сервере. Как правило, однако, вы определяете, должно ли это быть сделано клиент / сервер, спрашивая себя: «Где находится ресурс, который нужно использовать?» Например, запрос к базе данных будет выполняться на веб-сервере, потому что именно там находится этот ресурс. И наоборот, реорганизация пользовательского интерфейса веб-страницы выполняется на стороне клиента, потому что именно там находится пользовательский интерфейс.

Один Javascript всегда может «сократить его», но преимущество, которое дает jQuery, заключается в том, что он делает вещи проще и быстрее и устраняет многие проблемы с браузером при выполнении манипуляций с AJAX и DOM.

2 голосов
/ 28 апреля 2010

Поскольку вы новичок в разработке Javascript, я постараюсь с соответствующими примерами.

Вы можете голосовать за или против на StackOverflow. Ваше голосование отправляется на сервер, и оно там записывается. Если бы не AJAX (и некоторые другие методы), всю страницу нужно было бы обновить для этого одного действия. AJAX решает проблему асинхронного взаимодействия с сервером без полной перезагрузки страницы.

jQuery - это библиотека, которая обеспечивает удобный доступ к распространенным задачам Javascript, таким как манипулирование DOM, обработка AJAX и т. Д. JQuery также скрывает различия в браузерах и обеспечивает согласованный интерфейс для конечного пользователя. Чтобы проиллюстрировать эти два момента, посмотрите эти примеры:

поиск всех элементов div на странице

// Javascript
var divs = document.getElementsByTagName("div")

// jQuery
$("div")

добавление обработчика события нажатия кнопки (иллюстрирует различия в браузере)

В чистом Javascript лучше всего создать кросс-браузерный метод для добавления событий, так как вам точно не захочется писать этот код каждый раз. Источник - http://www.scottandrew.com/weblog/articles/cbs-events

function addEvent(obj, evType, fn, useCapture){
    if (obj.addEventListener) { // standards-based browsers
        obj.addEventListener(evType, fn, useCapture);
        return true;
    } else if (obj.attachEvent) { // IE
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    } else { // some unknown browser
        alert("Handler could not be attached");
    }
}

После настройки (только один раз) вы можете добавлять события к любым элементам, используя эту функцию.

// Javascript
var button = document.getElementById("buttonID");
addEvent(button, "click", function() { alert("clicked"); }, false);

// jQuery (contains code similar to above function to handle browser differences)
$("#buttonID").click(function() { alert("clicked"); });

AJAX является частью Javascript, а не отдельной технологией сам по себе. Вы бы использовали AJAX, чтобы избежать полного обновления страницы, когда вам нужно отправлять / получать данные с сервера.

jQuery, MooTools, Dojo, Ext.JS, Prototype.JS и многие другие библиотеки предоставляют обертку вокруг Javascript, чтобы абстрагироваться от различий между браузерами, и предоставляют более простой интерфейс для работы. Вопрос в том, хотите ли вы сделать всю эту переделку самостоятельно. Если вы не совсем уверены, какую переработку вам может понадобиться, изучите примеры простых задач на Javascript, таких как вызовы AJAX , манипулирование DOM , обработка событий , наряду с абстрагированием от причуд браузеров и сравнением их с примерами с эквивалентами в библиотеках, таких как jQuery, может быть хорошим началом.

1 голос
/ 28 апреля 2010

Причина точно такая же, как вы решили использовать Django вместо одного Python.

jQuery - это библиотека javascript, которая облегчит вашу жизнь и расширит возможности javascript.

Помимо того, что jQuery полезен, я советую вам сначала изучить javascript, как вы должны были выучить python, прежде чем использовать Django.

Для резюме:

чистый javascript => простой код, для чего вам нужна нативная функция

jQuery => сложный код, многофункциональное приложение, функции не существует в чистом javascript (например, метод $ .each ()).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...