Страница 1 из 1 |
Нужна помощь JavaScript программиста 2. AJAX + jquery
Автор | Сообщение |
---|---|
|
0
Нужна помощь JavaScript программиста.
Нужено сделать возможным загрузку страниц темы при помощи AJAX. Смотрим код темы |
05 июл 2011, 14:55 |
|
|
0
[code][/code]
|
05 июл 2011, 15:51 |
|
|
0
Ошибки как трэкать ?
|
05 июл 2011, 16:13 |
|
|
0
Код: //Проверка на корректный ответ сервера - HTTP: OK; Status: 200 if (ajaxRequest.status == 200) { если некорректный то ошибка ошибки бывают разные...403 - Форбидден...404 - Нот фаунд...501 - Интернал Иррор...тысячи их :) Код: if (ajaxRequest.status == 200) { } else { //Значит какая-нибудь ошибка if (ajaxRequest.status == 403) Досуп запрещен, например } если не важно какая ошибка, то просто можно трекать else в условии т.е если статус != 200 (OK), то ошибка можно так же проверить на наличие конкретной ошибки по статусу |
05 июл 2011, 16:22 |
|
|
0
Где там jquery? :)
Я бы сделал примерно так: Код: $.ajax({ url: '../MyService.svc/GetAllClassWithModels', // тут данные которые передаёшь php скрипту, // номер страницы, количество записей будут полюбому data: { page: page, rows: rows }, contentType: 'application/json; charset=utf-8', complete: function (servicedata, stat) { // если всё получилось if (stat == 'success') { // добавляем данные из ответа в div $(servicedata.responseText).appendTo('#pagecontent'); } else { alert('Ошибка!'); } } }); Ну а сам скрипт возвращает поток в виде html типа: |
05 июл 2011, 16:22 |
|
|
0
Цитата: Где там jquery? :) не заметил в названии темы :) Что-то подумал, что он не юзается, вот только обратил внимание :)) |
05 июл 2011, 16:26 |
|
|
0
Я наверное не понятно написал, исправлюсь.
Мне не нужны основы AJAX, я их и так знаю. Мне нужен работающий пример, сделанный для нашей страницы, чтобы я мог взять и интегрировать его в портал с минимальными усилиями. Можно на статическом html варианте нашей страницы. |
05 июл 2011, 16:29 |
|
|
0
DDUH писал(а): Я наверное не понятно написал, исправлюсь. Мне не нужны основы AJAX, я их и так знаю. Мне нужен работающий пример, сделанный для нашей страницы, чтобы я мог взять и интегрировать его в портал с минимальными усилиями. Можно на статическом html варианте нашей страницы. А чем не нравится то, что я предложил? Это считай уже готовый вариант. Тебе нужно написать только серверную часть, которая генерирует html-таблицу с форматированием и вёрсткой. |
05 июл 2011, 16:36 |
|
|
0
Сорри за небольшой офф топ, но, честно говоря не совсем понимаю один момент:
сейчас клиенту передается хтмл поток и меняется на живую. Имхо, это не оч. хорошая практика: куча левого трафика, отсуствие валидации, туда по сути можно пихать что угодно сейчас, хоть целую хтмл-страницу. лучше передвать только изменяемые данные в формете XML, а в идеале JSON, а табличку генерить на клиенте. P.S. takeiteasy - по сути прав. Реально, почти готовый пример. Хотя, я бы еще добавил проверку входящих данных, исходящих данных, трекал бы конкретные ошибки, а не все подряд. Ну и так же в зависимости от ситуации, проверял бы, инициализирован ли уже контейнер. Правда, все зависит от необходимости...нужно ли это |
05 июл 2011, 16:55 |
|
|
0
Лулзач писал(а): Сорри за небольшой офф топ, но, честно говоря не совсем понимаю один момент: сейчас клиенту передается хтмл поток и меняется на живую. Имхо, это не оч. хорошая практика: куча левого трафика, отсуствие валидации, туда по сути можно пихать что угодно сейчас, хоть целую хтмл-страницу. лучше передвать только изменяемые данные в формете XML, а в идеале JSON, а табличку генерить на клиенте. P.S. takeiteasy - по сути прав. Реально, почти готовый пример. Хотя, я бы еще добавил проверку входящих данных, исходящих данных, трекал бы конкретные ошибки, а не все подряд. Ну и так же в зависимости от ситуации, проверял бы, инициализирован ли уже контейнер. Правда, все зависит от необходимости...нужно ли это Ну да, я не спорю, что лучше. Но как бы сложновато написать код, если не знаешь формата получаемых данных. Я предложил самый очевидный и быстрый вариант, учитывая, что у автора проблемы с клиентским кодом, то логично сделать вывод, что этот код нужно свести к минимуму :) Если бы DDUH написал что-нибудь вроде: "php передаёт странице данные вида: [{name:'vasya', text:'msg', date:'01.02.2011',avatar:'1.gif'},{name:'petya'...}], сформируйте мне из этого текущую html-страницу при помощи Jquery", то это реально, а так непонятно даже, что мы там получаем - xml или json. |
05 июл 2011, 18:45 |
|
|
0
Нет, передаётся чистый html, такой же как и сейчас в теле дива. Чтобы перевести всё на JSON нужно переделывать код генератор и переписывать море шаблонов, что меня пока что не устраивает. Более того потеряется совместимость с phpbb, что тоже очень плохо.
Добавлено спустя 1 минуту 21 секунду: Я пробовал его вставлять при помощи аякса, но в 1 случае из 5 страница начинала перегружаться и подвисать, с чем это было связано я не понял пока. |
05 июл 2011, 18:53 |
|
|
0
takeiteasy правильно все подсказывает.
допустим тебе надо сделать это на document.ready( может быть любое другое событиe ) Код: $(document).ready(function() { var topicNumber = 123; var myServerPartUrl = 'prestige-gaming.ru/gimmemypage.php'; $.ajax({ type: 'GET', url: myServerPartUrl, data: { topic: topicNumber }, dataType: 'json', error: function() { alert('oops!'); }, success: function(content) { $('#pagecontent').html(content); } }) }); |
05 июл 2011, 21:59 |
|
|
0
DDUH писал(а): Я пробовал его вставлять при помощи аякса, но в 1 случае из 5 страница начинала перегружаться и подвисать, с чем это было связано я не понял пока. Если данные не возвращаются - значит возникает какая-то ошибка. Посмотри в фаербаге, что там именно происходит. |
06 июл 2011, 06:43 |
|
|
0
takeiteasy писал(а): DDUH писал(а): Я пробовал его вставлять при помощи аякса, но в 1 случае из 5 страница начинала перегружаться и подвисать, с чем это было связано я не понял пока. Если данные не возвращаются - значит возникает какая-то ошибка. Посмотри в фаербаге, что там именно происходит. В том то и дело что начинается перегруз страницы всей, и фаербаг не показывает ничего. |
06 июл 2011, 10:25 |
|
Страница 1 из 1 |