При реализации AJAX загрузки файлов на сайте Jollyday.ru мною было использована связка JsHttpRequest на стороне клиента и PHP на стороне сервера. Недавно, пришлось приделывать такую же функциональность на сайте, построенного на CMS SLAED. И тут возникли проблемы.
Суть проблемы заключается в том, что при одновременном использовании jQuery и JsHttpRequest возникал конфликт в использовании глобального именования, и это препятствовало передаче данных между клиентом и сервером. Покопавшись в предыдущей работе я обнаружил как их можно подружить.Для этого существует 2 способа.
Первый способ, простой, не требует больших временных затрат. Необходимо в код файла jQuery добавить строку, это избавит нас от конфликтов с другими jsFrameworks.
jQuery.noConflict();
При этом нужно учесть, что теперь обращение к jQuery будет не как обычно через $, а через jQuery.
//Старое обращение
$(document);
// Новое обращение
jQuery(document);
При этом, ненужно подключать дополнительных файлов файлов, сильно переписывать код.
Второй способ более радикальный. Отказаться от JsHttpRequest и воспользоваться плагинами jQuery. Приведу для примера Ajax File Upload или One Click Upload. При данном способе, вам необходимо будет переписать частично ваш код, но в дальнейшей разработке вам не нужно будет отвлекаться на дополнительный jsFramework.
Лично я выбираю второй вариант, так как плюсы очевидны.
Не знаете какой выбрать инструмент для работы? Профессионалы советуют Makit. Неоспоримо, электроинструмент makita выбор того, кто понимает толк в удобном и качественным инструменте, и тогда работа приносит не только доход но и радость!
Игорь
09.11.2009 at 1:33 пп
У меня в чём-то схожая проблема. Для передачи данный php-скрипту использую $.ajax , который реализован в jQuery, но при этом перестаёт работать компонент календаря. Я уже скоро с ума сойду, не знаю что делать…