Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.01.2012, 18:35
Интересующийся
Отправить личное сообщение для MrPostman Посмотреть профиль Найти все сообщения от MrPostman
 
Регистрация: 25.01.2012
Сообщений: 10

Проблема с ответом сервера
Нужно, чтобы по щелчку на ссылке в div выводилась таблица, которая берётся из mysql php скриптом. Этот код не работает. Подскажите, что не так?

<html>
<head>
<script type="text/javascript">
function getXmlHttp()
{
        var xmlhttp;
        try 
        {
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        }       
        
        catch (e) 
        {
                try 
                {
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                } 
                catch (E) 
                {
                xmlhttp = false;
                }
        }
        
        if (!xmlhttp && typeof XMLHttpRequest!='undefined') 
        {
                xmlhttp = new XMLHttpRequest();
        }
        
        return xmlhttp;
}


function loadXMLDoc(method, url) 
{
        req = getXmlHttp();
        req.open(method, url, true);
        req.onreadystatechange = processReqChange;
        req.send(null);
}

function processReqChange() 
{
        if(req.readyState == 4) 
        {
                if(req.status == 200) 
                {
                        if (req.responseXML != null)
                        {
                                gtable = req.responseXML.getElementsbyTagName('table');
                                getTable(gtable);
                        }
                } 
                
                else 
                {
                        alert("There was a problem retrieving the XML data:\n" + req.statusText);
                }
  }
}

function onClick() 
{
        var url = "wengine/wlist.php";
        loadXMLDoc( "get", url );
}


function getTable( database ) 
{
        var database = document.getElementById( "database" );
        database.innerHTML = database;
}

</script>
        </head>

        <body>
        
        <div id="database"></div>
        <span style="color:blue; text-decoration:underline; cursor:pointer" onClick="onClick()">ссылка</span>

        </body>
</html>


php-скрипт
<?php
header ('Content-Type: text/xml');
echo '<table bgcolor="#ffcc00" cellspacing="4">';

$query='SELECT uid,header,content,summ FROM table1 ORDER by `uid` ';
$result = mysql_query($query);

do
{
        echo '<tr>';
        $row=mysql_fetch_row($result);
        echo '<td width="24" class="c">'.$row[0].'</td><td width="150">'.substr($row[1],0,15).'</td>
 <td width="560">'.substr($row[2],0,67).'</td>
<td width="100">'.substr($row[3],0,10).'</td>
';
        echo '</tr>';
}
while ($row);
echo '</table>';
?>
Ответить с цитированием
  #2 (permalink)  
Старый 25.01.2012, 20:15
Аватар для SkyLight
Злюка-бобер
Отправить личное сообщение для SkyLight Посмотреть профиль Найти все сообщения от SkyLight
 
Регистрация: 21.03.2010
Сообщений: 438

У вас ответ с сервера приходит?
__________________
In WEB We Trust
У всех есть своя темная сторона...
Ответить с цитированием
  #3 (permalink)  
Старый 26.01.2012, 00:21
Интересующийся
Отправить личное сообщение для MrPostman Посмотреть профиль Найти все сообщения от MrPostman
 
Регистрация: 25.01.2012
Сообщений: 10

Ничего не приходит. Экран чист.
Ответить с цитированием
  #4 (permalink)  
Старый 26.01.2012, 00:59
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

заменить
if (req.responseXML != null)
                        {
                                gtable = req.responseXML.getElementsbyTagName('table');
                                getTable(gtable);
                        }

на
var a = document.createElement("div");
                                a.innerHTML = req.responseText;
                                gtable = a.getElementsbyTagName('table');
                                getTable(gtable);
Ответить с цитированием
  #5 (permalink)  
Старый 28.01.2012, 20:36
Интересующийся
Отправить личное сообщение для MrPostman Посмотреть профиль Найти все сообщения от MrPostman
 
Регистрация: 25.01.2012
Сообщений: 10

Чёрт. Проблема оказалась не в этом, а в том, что javascript и весь html вообще выводится в php с помощью echo. Вынес js в отдельный файл и всё заработало. Вот почему так?

Последний раз редактировалось MrPostman, 28.01.2012 в 20:48.
Ответить с цитированием
  #6 (permalink)  
Старый 29.01.2012, 17:26
Аспирант
Отправить личное сообщение для Keeper Посмотреть профиль Найти все сообщения от Keeper
 
Регистрация: 28.04.2011
Сообщений: 73

А тут не происходит перекрытие пришедшей переменной?
function getTable( database )
{
        var database = document.getElementById( "database" );
        database.innerHTML = database;
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема при передаче запроса POST martinss AJAX и COMET 7 09.04.2011 23:35
DOM манипуляции с ответом сервера. ekkl jQuery 16 07.09.2010 23:04
jQuery.ajax( ) проблема пи получении данных от сервера hard0000 jQuery 4 30.07.2010 12:34
Проблема с возвращением данных с сервера IgorN Общие вопросы Javascript 2 26.11.2008 13:58
передача массива с сервера subaru Общие вопросы Javascript 3 02.07.2008 19:57