Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Сегодня :

День славянской письменности и культуры


вопрос по AJAX


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
Пол:Жен Kate
Постоянный участник


Возраст: 27
Знак зодиака: Стрелец
Зарегистрирован: 04.06.2007
Сообщения: 149

СообщениеСб, 05-Июл-2008 10:55    Заголовок сообщения: вопрос по AJAX
Цитата

как мне поставить кодировку страницы, возвращаемой вот этой функцией:

Javascript:
  1.  
  2. function get_page(content, app, par)
  3.  {
  4.   if (window.XMLHttpRequest)
  5.     var res=new XMLHttpRequest();
  6.   if (window.ActiveXObject)
  7.     var res=new ActiveXObject("Microsoft.XMLHTTP");
  8.   var app_string=app+"?par1="+par;
  9.   res.open('GET', app_string, false);                               // app_string - ссылка на скрипт вместе с параметрами в формате CGI
  10.   res.send(null);
  11.   if (res.status==200)
  12.    content.innerHTML=res.responseText;                 //Изменяем контент элемента передаваемого параметром content
  13.  }
  14.  


Когда страница возвращает русские буквы - они отображаются некорректно, даже если я вручную ставлю кодировку меню браузера. Да это и не должно по логике помогать, также как и указание тегом в самой возвращаемой странице кодировки, т.к. все русские буквы за пределами динамической ячейки (т.е. страницы возвращаемой функцией get_page) - отображаются нормально. Т.е. дело не в этом. Как быть?

Добавлено спустя 1 час 27 минут 18 секунд:

С русскими буквами вопрос решила, но чуть позжебудет еще вопрос, применительно уже к моему реальному коду загружаемому по техн. аякс...
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж TuXAPuK
Великий гонщик

Предупреждений : 1
Возраст: 26
Знак зодиака: Рыбы
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
СообщениеВс, 06-Июл-2008 0:17 
Цитата

Если через PHP то перед отправлеием буффера

php:
  1. header('Content-Type: text/html; charset=utf-8');


Где utf-8 это кодировка...

А так-же стоит посмотреть в какой кодировке сохраняется сам скрипт...
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Пол:Жен Kate
Постоянный участник


Возраст: 27
Знак зодиака: Стрелец
Зарегистрирован: 04.06.2007
Сообщения: 149

СообщениеПн, 07-Июл-2008 12:09 
Цитата

TuXAPuK писал(а):
Если через PHP то перед отправлеием буффера

php:
  1. header('Content-Type: text/html; charset=utf-8');


Где utf-8 это кодировка...

А так-же стоит посмотреть в какой кодировке сохраняется сам скрипт...


Ага, я так и сделала с самого начала, только опечатку сделала и не заметила, подумала что не помогло. :)

Добавлено спустя 11 минут 19 секунд:

У меня вот какой еще вопросик по AJAX обновлению страниц.

Есть некий контент, к примеру ячейка таблицы, дадим ей ID="content", соответственно он обновляется некой функцией JavaScript, назовем ее - get_page(cont, script_url); Соотв. при нажатии каких-то там кнопочек менюшек всяких она (get_page) обновляет этот контент (указанный в параметре функции) соотв. скриптом (тоже указывается в параметрах функции, вместе с параметрами запроса). Изначально, при загрузке главной страницы эта функция должна естественно быть вызвана, чтобы наполнить наш контент (ID="content") какой-нить страницей, например main page content.

ВОПРОС:
Как сделать так, чтобы пользователь, просмотрев пару страничек потыкав по менюшкам (кот. в свою очередь вызвали функцию обновления контента), нажав кнопку "ОБНОВИТЬ" в браузере, не попал на главную страницу, а попал на ту страницу, на кот. он был, когда нажимал кнопку обновления страницы в браузере? Т.е. как сделать так, чтобы информация в контенте была той, которая была в последний раз изменена, а не той, что заполняется при первой загрузке всей страницы при заходе на сайт.?
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж TuXAPuK
Великий гонщик

Предупреждений : 1
Возраст: 26
Знак зодиака: Рыбы
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
СообщениеВт, 08-Июл-2008 19:13 
Цитата

Если-бы следила за темами в форуме то наверно заметила-бы


http://forum.chertenok.ru/viewtopic.php?t=7742#50406

Простейший вариант getCookie и setCookie тем-более записанные ждавой куки можно через php читать...

Добавлено спустя 38 минут 31 секунду:

Вот и примерчик....

php:
  1. <?php
  2.  
  3.  if ( isset($_COOKIE['lpage']) )
  4.  {
  5.   switch ( $_COOKIE['lpage'] )
  6.   {
  7.    case 'page1' :
  8.     $context = <<< endoftext
  9. Загружаем первую страницу
  10. endoftext;
  11.     break;
  12.    case 'page2' :
  13.     $context = <<< endoftext
  14. Загружаем вторую страницу
  15. endoftext;
  16.     break;
  17.    default :
  18.     $context = <<< endoftext
  19. <h1>ОшиПка 404 :</h1><br>
  20. Файл не найден
  21. endoftext;
  22.   }
  23.  }
  24.  else
  25.   $context = <<< endoftext
  26. Выберите документ
  27. endoftext;
  28.  
  29.  
  30. $_1HourCookie = date("D, d-M-Y H:i:s T", time() + (1*60*60));
  31.  
  32. ?>
  33. <html>
  34.  <head>
  35.   <title>Тестовый файл</title>
  36.   <script language="JavaScript">
  37.  
  38. function go($id)
  39. {
  40.  document.cookie = "lpage="+$id+"; path=/; expires=<?=$_1HourCookie?>";
  41.  window.location.reload();
  42. }
  43.  
  44.   </script>
  45.  </head>
  46.  <body>
  47.   <input type="button" onclick="window.location.reload()" value="Перезагрузить">
  48.   <input type="button" onclick="go('page1')" value="Страница1">
  49.   <input type="button" onclick="go('page2')" value="Страница2">
  50.   <br>
  51.   <div id="context"><?=$context?></div>
  52.   <br /><br />
  53.   <textarea cols="80" rows="15"><?php var_dump($_COOKIE); echo($_1HourCookie) ?></textarea>
  54.  </body>
  55. </html>

_________________
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Пол:Жен Kate
Постоянный участник


Возраст: 27
Знак зодиака: Стрелец
Зарегистрирован: 04.06.2007
Сообщения: 149

СообщениеСр, 09-Июл-2008 7:49 
Цитата

Ага, но тут нужно еще одно дополнение, будь то ты хранишь последнее посещение в $_COOKIE или в $_SESSION - при первой загрузке страницы - место в сессии, отвечающее за идендификацию последнего загруженного AJAX-контента должен быть к примеру пустой. Если он пустой - то загружаем главную страницу при обновлении, если же нет - то при обновлении загружаем тот контент, ид кот. хранится в нужном месте сессии. Главное, чтобы при загрузке главной страницы никакой установки переменных сессии (типа там $_SESSION["page"]="main" и т.д.) не было, иначе при обновлении будет всегда page=main. Вот так вот.
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж TuXAPuK
Великий гонщик

Предупреждений : 1
Возраст: 26
Знак зодиака: Рыбы
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
СообщениеЧт, 10-Июл-2008 15:47 
Цитата

Не важно как ты это реализуешь... Для меня главное это навести тебя на мысль как сделать.... :)

Вообще я в сессии не держу всякий хлам типо - на какой сидел пользователь...
Сессии хранятся на уровне сервера, там нужно держать важную информацию сервера...

_________________
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100