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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как вывести только определённый тэг ?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: при асинхронном запросе
D-Nur
Отправлено: 06 Мая, 2015 - 23:42:15
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Май 2015  


Помог: 0 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. ...
  3.                 var http = new XMLHttpRequest();
  4.                 if (http) {
  5.                     http.open('post', 'index.php');
  6.                     http.onreadystatechange = function () {
  7.                         if (http.readyState == 4) {
  8.                             if (http.status == 200) {
  9.                                 document.getElementById('Right_widjet').innerHTML = http.responseText;
  10.                             }
  11.                         }
  12.                     };
  13.                     http.send(null);
  14.                 }
  15.  
  16. ...
  17.  


При асинхронном запросе в "точку входа" ("index.php"), в котором генерируются все вьюшки/модули/контроллеры, выводится всё включая необходимый тэг. Т. е. в
CODE (html):
скопировать код в буфер обмена
  1. <div  id="Right_widjet"><div>
у меня генерируется повторно вся страница:
CODE (html):
скопировать код в буфер обмена
  1.  
  2.  
  3. <div  id="Right_widjet">
  4.  
  5.     <link rel="stylesheet" href="Theme/css/header.css">
  6.     <link rel="stylesheet" href="Theme/css/leftside.css">
  7.     <link rel="stylesheet" href="Theme/css/rightside.css">
  8.  
  9.     <title>Добро пожаловать!</title>
  10.  
  11. <body>
  12. <header>
  13.  
  14. ...
  15.  
  16. и без <div  id="Right_widjet"> вставляется то что я запросил асихронкой
  17.  
  18.  
  19.  

Куда регулярное выражение
CODE (javascript):
скопировать код в буфер обмена
  1. RegExp('<div id="Right_widjet">(.*?)<\/div>', 'i'))
вставить? Или делается это без регулярного выражения? В JS совсем недавно - сильно не ругайтесь Недовольство, огорчение
 
 Top
exlant
Отправлено: 07 Мая, 2015 - 08:45:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




А почему сразу не отдавать только нужный тег? То есть пусть запрашиваемый скрипт и генерирует только нужный ответ, зачем гонять лишние данные?

Ну или можно посылать ответ JSON-ом, а потом уже разбирать его при получении

(Отредактировано автором: 07 Мая, 2015 - 08:46:43)

 
 Top
IllusionMH
Отправлено: 07 Мая, 2015 - 11:13:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




D-Nur, если нельзя сделать адекватный сервер(который когда нужно будет отдавать не весь HTML), тогда можно сделать как здесь
http://stackoverflow[dot]com/questio[dot][dot][dot]documentfragment

дальше уже через querySelector вытащить нужные элементы

(Отредактировано автором: 07 Мая, 2015 - 11:14:20)

 
 Top
D-Nur
Отправлено: 07 Мая, 2015 - 19:48:24
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Май 2015  


Помог: 0 раз(а)




А как сделать адекватный Index.php, есть примеры?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB