powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Правильная реализация ajax - как ?
25 сообщений из 59, страница 1 из 3
Правильная реализация ajax - как ?
    #37994650
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет, такой вопрос - нужно сделать интерфейс для сайта полностью на ajax, условия - jQuery, ссылка в строке браузера всегда одна и та же (на любое действие - http://mysite.com) + к этому всему ссылки должны быть прописаны нормально - <a href="mysite/blog">блог</a> для поисковых машин и пользователей с отключенным js, а с включенным js в браузере всё должно работать с помощью ajax. Подскажите правильную реализацию ui с использованием ajax, с чего начинать, что можно почитать, как всё это строится, что должен возвращать сервер json или html или что то другое, как реализовать заданное в требованиях поведение строки браузера, что делать с сылками назад, как перехватывать реальные ссылки и отправлять асинхронный запрос вместо обычного... Посоветуйте, буду весьма признателен.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37994666
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37994837
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мда, вот так вот взять и объяснить все, что разработчики по всему миру накапливали годами...
Вы начните как умеете, а вопросы задавайте по мере их поступления.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37994934
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше начинать не с жКвери.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37995086
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паганель http://api.jquery.com/jQuery.ajax/

После прочтения этой части документации я смогу реализовать указанный выше интерфейс ?


AntonariyМда, вот так вот взять и объяснить все, что разработчики по всему миру накапливали годами...
Вы начните как умеете, а вопросы задавайте по мере их поступления.


Как сделать постоянно статическим url сайта и перехватывать js реальные ссылки ?
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37995128
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander00513Паганель http://api.jquery.com/jQuery.ajax/ После прочтения этой части документации я смогу реализовать указанный выше интерфейс ?частично
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37995213
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeЛучше начинать не с жКвери.Предлагается использовать конкретно jQuery.ajax.
Считаю, что это качественная реализация, учитывающая всевозможные ньансы, возникающие при AJAX запросах.
Что по вашему мнению лучше?
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37995387
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит "лучше"? - Как можно обсуждать фреймворки, не владея азами? Серж совершенно прав - человек не разбирается в основах программирования (а именно, динамические запросы), а хочет сразу овладеть высокоуровневым решением.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37995434
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruck, человек спрашивает "Правильная реализация ajax - как?".

jQuery.ajax - яркий пример правильной реализации :) Документация и исходники доступны: читай да разбирайся.

Если Вы считаете, что лучше подойти с другой стороны, то дайте список ресурсов. Фигли тупо писать: "Лучше начинать не с жКвери"? :)
Я понимаю, если человек развёрнуто объясняет своё мнение, например: "jQuery.ajax грамотная реализация, но она скрывает от разработчика тонкости работы XDomainRequest и XmlHttpRequest, а профессиональный разработчик должен знать эти тонкости. Поэтому, если Вы хотите детально разобраться в Ajax, то начните к примеру с AJAX Tutorial ."

Как-то так :)
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37995450
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA... а профессиональный разработчик должен знать эти тонкости ...
Видишь, ты сам ответил на вопрос, который задал )))))
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37995458
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruck, вообще-то я хотел услышать "ваше мнение" и желательно аргументированнное. Ну да ладно.
И разве нельзя узнать тонкости, начав с jQuery? По моему так вполне можно, стоит только задаться вопросом: а как это работает? :)
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37995489
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAСчитаю, что это качественная реализация, учитывающая всевозможные ньансы, возникающие при AJAX запросахСчитаю ее ацтоем. Не ее собачье дело учитывать нюансы, ее дело отдать мне респонс и заткнуться. Делал пару подходов, но ее поведение неадекватно из-за этих учетов. Либо не работает вообще без интуитивно понятных причин, либо отдает объект, который мне нахрен не нужен. В итоге пользуюсь минимальным джентльменским набором:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
function NewQuery(method, url, callback, data) {
    var xhr;
    if (window.XMLHttpRequest) {
        xhr = XMLHttpRequest();
    } else if (window.ActiveXObject) {
        xhr = ActiveXObject("MSXML2.XMLHTTP");
    } else {
        alert("Извините, AJAX не для вас.");
        return;
    }
    xhr.open(method, url, true);
    xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
    if (method == 'post') xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4 && xhr.status == 200) callback(xhr.responseText);
    }
    if(data){xhr.send(data)}else{xhr.send()};
}

function GetAjax(sURL, callback) {
    NewQuery("get", sURL, function(responseText) {
        if (callback) {
            callback(responseText)
        } else {
            try {
                eval(responseText);
            } catch (e) {
                alert(e);
            }
        }
    });
}

function PostAjax(sURL, $form, callback) {
    var data = '';
    if (typeof $form == "object") {
        $("*[name]", $form).each(function() {
            data += this.name + "=" + (this.type=="checkbox"?(this.checked?1:0):encodeURIComponent($(this).val())) + "&"; 
        });
    } else {
        data = $form
    }
    NewQuery("post", sURL, function(responseText) {
        if (callback) {
            callback(responseText)
        } else {
            try {
                eval(responseText);
            } catch (e) {
                alert(e);
            }
        }
    }, data)
}

...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37995565
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, не согласен с тобой. Смотрел в исходниках их реализацию - очень даже грамотная, Очень. Другое дело, что есть "кастурбатые" функции типа jQuery.post, jQuery.get и прочие "обрезанные" функции, которые совсем отбивают способность управлять процессом. Понятно, что в итоге реальный транспорт один и тот же, но вот допуск к управлению процессом сведен до абсолютного минимума.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37995628
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander00513ссылки должны быть прописаны нормально - <a href="mysite/blog">блог</a> для поисковых машин и пользователей с отключенным js, а с включенным js в браузере всё должно работать с помощью ajax. Подскажите правильную реализацию ui с использованием ajax, с чего начинать, что можно почитать, как всё это строится, что должен возвращать сервер json или html или что то другое, как реализовать заданное в требованиях поведение строки браузера, что делать с сылками назад, как перехватывать реальные ссылки и отправлять асинхронный запрос вместо обычного...похоже, надо использовать html5 history API

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

пример реализации - github.com


Ну а сами запросы - понятное дело, $.ajax..
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37995649
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Мечдля устаревших браузеров, которые оное не поддерживаюттут вся раскладка:
http://html5test.com/compare/feature/history-history.html
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37995749
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996304
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это будет сложно сделать.

для клиента Backbone.js , для поисковиков один из вариантов - если по запросу видно что запрашивает поисковик - использовать эмулятор браузера на сервере для сборки страницы, и вытащив оттуда хтмл отдать поисковику.
Есть второй вариант - (забыл как слово называется, ищите "урл фрагменты") но его не все поисковики поддерживают, и сервер будет сложнее.

На мой взгляд аджакс в жквери один из самых неудобных способов (все остальное в жквери, кроме зджакса сделано классно), мне больше нравится что-то вроде

server.get '/applications', (err, data) ->
return callback err if err
callback null, new app.Applications(data)
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996324
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
privateНа мой взгляд аджакс в жквери один из самых неудобных способовпо сравнению с другими библиотеками?
privateмне больше нравится что-то вроде

server.get '/applications', (err, data) ->
return callback err if err
callback null, new app.Applications(data)это вообще что такое?
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996341
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
privateЭто будет сложно сделатьНичего сложного. При ajax-запросах нужно добавлять заголовок X-Requested-With=XMLHttpRequest, а на сервере его проверять. Если он есть, отдавать ajax-контент, если нет — всю страницу или редирект куда полагается. На клиенте можно сделать тупо, но элементарно:
Код: javascript
1.
2.
3.
4.
$("a").each(function(){
    $this = $(this);
    $this.onclick(function(){someAjaxQuery($this.attr("href"))}).attr("href","#");
});

Это будет работать одинаково как для поисковиков, так и для браузеров с отключенным js.
Для форм тоже можно что-то в этом роде придумать. Например, отменить отправку в onsubmit и сделать вместо нее ajax-запрос.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996375
Фотография Ифреймов Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Меч
server.get '/applications', (err, data) ->
return callback err if err
callback null, new app.Applications(data)это вообще что такое?[/quot]

Это кофискрирт
Не понятно причем он тут
Он все равно в javascript превращается потом :)
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996404
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, давайте жить дружно.
Я, в своих собственных проектах, никогда не использую жКвери (для моих мелких личных нужд - нафиг не нужно).
Аякс использую ещё с тех пор, когда и такого слова-то не было.
Чаще всего использую технологию, которые многие называют JSONP (но к JSON это никакого отношения не имеет).
XmlHttpRequest - почти никогда. За тем редким исключением, когда чужую программу надо править.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996410
Фотография Ифреймов Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeЧаще всего использую технологию, которые многие называют JSONP (но к JSON это никакого отношения не имеет).

Вообще-то JSONP - это json with padding

У вас все проекты кроссдоменные или это по фолософским соображениям?
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996429
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ифреймов ВасяShSergeЧаще всего использую технологию, которые многие называют JSONP (но к JSON это никакого отношения не имеет).

Вообще-то JSONP - это json with padding

У вас все проекты кроссдоменные или это по фолософским соображениям?
Нет, у меня подавляющее большинство проектов - аспнет вэбформс, к сожалению. А те, которые я сам делаю - таки да. Но это вовсе не из-за кроссдоменности. А из-за удобства.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996434
Фотография Ифреймов Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeИфреймов Васяпропущено...

Вообще-то JSONP - это json with padding

У вас все проекты кроссдоменные или это по фолософским соображениям?
Нет, у меня подавляющее большинство проектов - аспнет вэбформс, к сожалению. А те, которые я сам делаю - таки да. Но это вовсе не из-за кроссдоменности. А из-за удобства.

Удобство имеет ограничения
Когда вам большой объем данных надо передать на сервер, как jsonp вам поможет?
Или ajax, или iframe встраивать надо
Но когда свой домен - глупо с iframe извращаться - ajax более естественное решение
вы не согласны?
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996448
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ифреймов Вася,

Василий, большие (или важные) данные я всегда передаю самым обыкновенным постом, с перезагрузкой страницы. Что Вы сами себе выдумали?
...
Рейтинг: 0 / 0
25 сообщений из 59, страница 1 из 3
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Правильная реализация ajax - как ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]