Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Правильная реализация ajax - как ? / 25 сообщений из 59, страница 1 из 3
11.10.2012, 23:22:13
    #37994650
alexander00513
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильная реализация ajax - как ?
Всем привет, такой вопрос - нужно сделать интерфейс для сайта полностью на ajax, условия - jQuery, ссылка в строке браузера всегда одна и та же (на любое действие - http://mysite.com) + к этому всему ссылки должны быть прописаны нормально - <a href="mysite/blog">блог</a> для поисковых машин и пользователей с отключенным js, а с включенным js в браузере всё должно работать с помощью ajax. Подскажите правильную реализацию ui с использованием ajax, с чего начинать, что можно почитать, как всё это строится, что должен возвращать сервер json или html или что то другое, как реализовать заданное в требованиях поведение строки браузера, что делать с сылками назад, как перехватывать реальные ссылки и отправлять асинхронный запрос вместо обычного... Посоветуйте, буду весьма признателен.
...
Рейтинг: 0 / 0
11.10.2012, 23:39:51
    #37994666
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильная реализация ajax - как ?
...
Рейтинг: 0 / 0
12.10.2012, 07:52:00
    #37994837
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильная реализация ajax - как ?
Мда, вот так вот взять и объяснить все, что разработчики по всему миру накапливали годами...
Вы начните как умеете, а вопросы задавайте по мере их поступления.
...
Рейтинг: 0 / 0
12.10.2012, 09:33:03
    #37994934
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильная реализация ajax - как ?
Лучше начинать не с жКвери.
...
Рейтинг: 0 / 0
12.10.2012, 10:41:44
    #37995086
alexander00513
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильная реализация ajax - как ?
Паганель http://api.jquery.com/jQuery.ajax/

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


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


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

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

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

Как-то так :)
...
Рейтинг: 0 / 0
12.10.2012, 12:59:23
    #37995450
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильная реализация ajax - как ?
skyANA... а профессиональный разработчик должен знать эти тонкости ...
Видишь, ты сам ответил на вопрос, который задал )))))
...
Рейтинг: 0 / 0
12.10.2012, 13:04:33
    #37995458
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильная реализация ajax - как ?
IDVsbruck, вообще-то я хотел услышать "ваше мнение" и желательно аргументированнное. Ну да ладно.
И разве нельзя узнать тонкости, начав с jQuery? По моему так вполне можно, стоит только задаться вопросом: а как это работает? :)
...
Рейтинг: 0 / 0
12.10.2012, 13:18:10
    #37995489
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильная реализация ajax - как ?
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
12.10.2012, 13:46:16
    #37995565
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильная реализация ajax - как ?
Antonariy, не согласен с тобой. Смотрел в исходниках их реализацию - очень даже грамотная, Очень. Другое дело, что есть "кастурбатые" функции типа jQuery.post, jQuery.get и прочие "обрезанные" функции, которые совсем отбивают способность управлять процессом. Понятно, что в итоге реальный транспорт один и тот же, но вот допуск к управлению процессом сведен до абсолютного минимума.
...
Рейтинг: 0 / 0
12.10.2012, 14:06:15
    #37995628
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильная реализация ajax - как ?
alexander00513ссылки должны быть прописаны нормально - <a href="mysite/blog">блог</a> для поисковых машин и пользователей с отключенным js, а с включенным js в браузере всё должно работать с помощью ajax. Подскажите правильную реализацию ui с использованием ajax, с чего начинать, что можно почитать, как всё это строится, что должен возвращать сервер json или html или что то другое, как реализовать заданное в требованиях поведение строки браузера, что делать с сылками назад, как перехватывать реальные ссылки и отправлять асинхронный запрос вместо обычного...похоже, надо использовать html5 history API

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

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


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

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

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

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

server.get '/applications', (err, data) ->
return callback err if err
callback null, new app.Applications(data)это вообще что такое?
...
Рейтинг: 0 / 0
12.10.2012, 19:22:39
    #37996341
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильная реализация ajax - как ?
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
12.10.2012, 19:37:54
    #37996375
Ифреймов Вася
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильная реализация ajax - как ?
Яростный Меч
server.get '/applications', (err, data) ->
return callback err if err
callback null, new app.Applications(data)это вообще что такое?[/quot]

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

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

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

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

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

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

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

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

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


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