Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > проблема предачи инфы через ajax/


Автор: Alix36 31.3.2007, 17:42
1.имеем 4 файла (frame1.htm,framest.htm,ajaxframe.htm,ajax.php)
2. -framest.htm-система фреймов (ajaxframe.htm and frame1.htm)
    -ajax.php скрипт который выводит на сервере такого рода текст        <script>
alert('<KF!');
mainwindow.frame1.location='frame1.htm';
</script> 
РНР файл выводит это как текст, т.е. content="text/plant; б чтобы JS не выполнялось раньше времяни. Ну разумеется AJAX запросы обращены к этому файлу.
     --frame1.htm- файл который должен обнавляться скриптом(см выше) (name=frame1 window=mainwindow) и из которого должен выскакивать alert
     ---ajaxframe-2 фрейм из набора фреймов. тут описывать его небуду, выложу весь код. 
Код

<!doctype html public "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="lib/ajax/zxml.js"></script>
<script>
function atloc()
{
  var oXmlHttp = zXmlHttp.createRequest();
            oXmlHttp.open("get", "ajax.php", true);
            oXmlHttp.onreadystatechange = function () {
                if (oXmlHttp.readyState == 4) {
                    if (oXmlHttp.status == 200) {
                        dischat(oXmlHttp.responseText);
                    } else {
                        dischat("An error occurred: " + oXmlHttp.statusText);
                    }
                }
            };
            oXmlHttp.send(null);
}
function dischat(sText) {
            var chatdiv = document.getElementById("result");
            chatdiv.innerHTML = sText;
        }
function ch()
{
setInterval(atloc,5000);
}
</script>
</head>
<body onload="ch()">
 <div id="result"></div>
</body>
</html>

А теперь вопросы)
1.Правильно ли я скрипт написал обнавления 
mainwindow.frame1.location='frame1.htm';
где 
mainwindow- ИМЯ окна
frame1 - имя фрейма
'frame1.htm' - путь до файла.
2. в чем собственно ошибка, симптомы такие )фаербуг ошибок не выдает
                                                                           ) в РНР файле кроме вывода JS еще обнавляет записи в базе  ПРичем записи обнавляются, а вот JS текст пропадает.

Женема пасс сиз жур, Помогите кто чем может (С)
Если кто знает скажите что нетак.
З.ы. Использовал библиотеку zXMLHTTP 
http://nczonline.net/downloads/777781Pro_AJAX.zip 
в архиве ch2/Xmlчтото там/zxml.js

Автор: Alix36 1.4.2007, 12:43
еще немногго подумал. Проблема скорее всего в передаче скрипта от РНР скрипта до фреймовой структуры.
Несовсем понятно, почему ,если открыть ajaxframe.htm и создать ситуацию с выводом алерта, он не выскакивает, хотя должен.

Автор: Sardar 1.4.2007, 12:51
Цитата(Alix36 @  31.3.2007,  16:42 Найти цитируемый пост)
1.Правильно ли я скрипт написал обнавления 
mainwindow.frame1.location='frame1.htm';

Такого в коде вообще не видно, ты о чём? По имени окна само окно не доступно. К фрейму лучше обратиться через top.имя_фрейма.свойство.

Цитата(Alix36 @  31.3.2007,  16:42 Найти цитируемый пост)
2. в чем собственно ошибка, симптомы такие )фаербуг ошибок не выдает

Не вижу ошибки. Дай ссылку.

Автор: Alix36 1.4.2007, 13:00
Цитата

Цитата(Alix36 @  31.3.2007,  16:42 Найти цитируемый пост)
1.Правильно ли я скрипт написал обнавления 
mainwindow.frame1.location='frame1.htm';
Такого в коде вообще не видно, ты о чём? 

Это выводит скрипт РНР дабы перегрузить frame1.htm


2. Ошибку никто невидит, но почемуто JS результат работы РНР скрипта не добирается до цели

Автор: Alix36 1.4.2007, 14:06
у мя тут идея появилась, как это обойти, скажи как можно ПРАВИЛЬНО написать вот это. 
Код

parent.displayt('alert("Вы закончили поиски, и возможно что-то нашли!");
top.gamw.location='game.php';');


Автор: Alix36 1.4.2007, 14:25
Код

function displayt(sText) {
            var div = document.getElementById('result');
            div.innerHTML = sText;
        }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)