Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Обновление страницы аякс
Форумы портала PHP.SU » » Вопросы новичков » Обновление страницы аякс

Страниц (2): [1] 2 »
 

1. Хенаро - 06 Декабря, 2014 - 14:15:04 - перейти к сообщению
Здравствуйте) Помогите, пожалуйста, уже неделю копаю в гугле и ничего не могу найти.. Как обновить страницу аяксом в фоновом режиме? После входа на сайт и старта сессии много материалов выводятся через эхо. И хотелось бы сделать это всё красиво, без перезагрузки, чтобы вывелось приветствие с именем пользователя. Пожалуйста, буду очень благодарен
CODE (javascript):
скопировать код в буфер обмена
  1. $('#enter').click(function(e){
  2.         e.preventDefault();
  3.         var login=$('#loggin').val();
  4.         var password=$('#password').val();
  5.         if (login=="" || password ==""){
  6.                 $('#success').text('В поле пусто!');
  7.         }
  8.         $.ajax({
  9.                 url: "php/login.php",
  10.                 type: "POST",
  11.                 data: {login:login, password: password},
  12.                 success: function(data){
  13.                         if(data){
  14.                         if (data==0){
  15.                         $('#formreg').html('<img src="img/273395.jpg"/>').delay(2000).hide('fold',2000);
  16.                         setTimeout(function(){
  17.                                 document.location= "index.php";// пока так
  18.                         },4000);
  19.                         }
  20.                         }
  21.                 }
  22.         });
  23. });
2. andrewkard - 07 Декабря, 2014 - 22:02:35 - перейти к сообщению
Хенаро
Вы когда провели проверку логина и пароля, отдайте обратно имя пользователя, оно у Вас будет в data, //success: function(data){
и тогда его можно будет вставить в div либо p по id
3. Хенаро - 07 Декабря, 2014 - 22:06:03 - перейти к сообщению
andrewkard пишет:
Хенаро
Вы когда провели проверку логина и пароля, отдайте обратно имя пользователя, оно у Вас будет в data, //success: function(data){
и тогда его можно будет вставить в div либо p по id

Да, это можно сделать) Но как быть с остальным контентом который через эхо выводится???
4. andrewkard - 07 Декабря, 2014 - 22:10:39 - перейти к сообщению
А например, что именно выводится через echo? И на какой странице? Т.е. мы говорим про index.php?
5. Хенаро - 07 Декабря, 2014 - 22:16:28 - перейти к сообщению
andrewkard пишет:
А например, что именно выводится через echo? И на какой странице? Т.е. мы говорим про index.php?

Ну да, index.php. Там много чего выводится Растерялся Например ссылочки вверху, в общем смотри сам http://henaro[dot]vindetta[dot]net/#IV/1[dot]jpg Подмигивание
6. Bio man - 07 Декабря, 2014 - 22:17:51 - перейти к сообщению
Хенаро пишет:
много материалов выводятся через эхо
Систему сам писал? Переделывай, "эхо" должно быть всего 1 (не считая шаблонов)
Что это?? Каким образом этот код выполняется? Посмотри ещё раз, у тебя не рабочий код.

А обновлять данные как описал andrewkard. Посылай либо отрендереный HTML либо json (при этом не забудь отправить заголовок Content-Type: application/json)
(Добавление)
Хенаро пишет:
Но как быть с остальным контентом который через эхо выводится???
Рендери шаблон на сервере и отдавай его, в success вставляй куда тебе надо.
(Добавление)
Bio man пишет:
Систему сам писал? Переделывай, "эхо" должно быть всего 1 (не считая шаблонов)
судя по твоей ссылке, рано я тебе это сказал, но всё равно имей ввиду, как знаний наберёшься, применишь
7. Хенаро - 07 Декабря, 2014 - 22:28:14 - перейти к сообщению
Всё работает, как надо Подмигивание Если данные пришли, идём дальше, если они равны нулю - топаем ещё вперёд
Да делать мне нечего, по частям всё это отдавать))) Много возни, понимаешь.. Я хотел бы одним махом чтоб оно заново как бы прочитало страничку аяксом, типа так. Не знаешь, возможно ли такое вообще? Я только месяц программирую, зелёный ещё совсем)))
Всё сам Улыбка
8. andrewkard - 07 Декабря, 2014 - 22:32:23 - перейти к сообщению
Хенаро пишет:
Например ссылочки вверху

Зачем их выводить через echo, пропишите напрямую в html без php
9. Viper - 07 Декабря, 2014 - 22:42:13 - перейти к сообщению
Хенаро https://angularjs[dot]org/ и шаблон и данные и аякс... все в одном.
10. Bio man - 07 Декабря, 2014 - 22:57:10 - перейти к сообщению
Хенаро пишет:
Всё работает, как надо
Судя по коду, я уверен, что не работает.
пустая строка, 0, null, undefined, false, может что то еще, приравниваются к булеву false в этом случае
, тобишь условие вернуло false и блок if'а не выполнится.
Хенаро пишет:
Я только месяц программирую
не программируешь а учишься

Короче так. В success делай ещё 1 аякс запрос с таким параметром url: "/" и в success вставляй data в документ. Но похоже, что подменить всё не получится. Останется doctype и теги <html></html>, их можно регулярками из data почистить
(Добавление)
Viper так сразу и на ангулар? Не потянет. Надо хотя бы принципы "общения" знать. А то будет 100500 тем в разделе JS
11. Хенаро - 07 Декабря, 2014 - 23:00:49 - перейти к сообщению
andrewkard пишет:
Хенаро пишет:
Например ссылочки вверху

Зачем их выводить через echo, пропишите напрямую в html без php
Надобно Подмигивание чтоб пхп не рассляблялся
12. andrewkard - 07 Декабря, 2014 - 23:16:48 - перейти к сообщению
Хенаро
Т.е., они у Вас меняются? Если так, тогда после проверки отдавайте массив всего того, что должно измениться, предварительно закодировав его в JSON "echo json_encode($ar_data);", в функции JS раскодируйте и вставляйте туда куда нужно.
13. Хенаро - 07 Декабря, 2014 - 23:17:54 - перейти к сообщению
Bio manТы не понял, там пхп эхует))) 0 в случае если всё норм Подмигивание
PHP:
скопировать код в буфер обмена
  1.  $row=mysql_fetch_row($sql);
  2.         if ($pass==$row[2]){
  3.                 session_start();
  4.         $_SESSION['login']=$name;
  5.         $_SESSION['password']=$pass;
  6.                 //$html=file_get_contents('indexajax.php');
  7.         //header("Refresh: 5; url=/index.php"); пробовал и так  ::smile24.gif::
  8.         //header("location: ../index.php");
  9.         echo 0;


Можно попробовать через load() , нарыл вот http://jquery[dot]page2page[dot]ru/index[dot][dot][dot]0%BD%D1%8B%D1%85
(Добавление)
andrewkard пишет:
Хенаро
Т.е., они у Вас меняются? Если так, тогда после проверки отдавайте массив всего того,

Что ты со мной на вы, я здесь один. Да не хочется играться, по частям всё это вставлять.. ничего страшного, маленький редирект не помешает Подмигивание
14. andrewkard - 07 Декабря, 2014 - 23:43:21 - перейти к сообщению
Может так:
location.reload()
15. Bio man - 08 Декабря, 2014 - 00:07:20 - перейти к сообщению
Хенаро а чем мой вариант не устраивает?
В данном случае с json нет смысла заморачиваться, так как придется городить кучу логики что бы эти данные обработать

 

Powered by ExBB FM 1.0 RC1