Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ajaks , передача сервером клиенту результаты работы скрипта (массива ).
 
 автор: dima2207   (09.01.2008 в 22:19)   письмо автору
 
 

Всем привет !
есть скрипт :

<html>
<head>
<script type="text/javascript">
var httpRequest = createHttpRequest();
var resultId = '';
function createHttpRequest()
{
    var httpRequest;
    var browser = navigator.appName;

    if (browser == "Microsoft Internet Explorer")
    {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {
        httpRequest = new XMLHttpRequest();
    }

    return httpRequest;
}

function sendRequest(file, _resultId, getRequestProc)
{
    resultId = _resultId;
    document.getElementById(resultId).innerHTML = '';

    var txt = document.getElementById("txt").value;

    httpRequest.open('post', file + '?asd=' + txt);
    httpRequest.onreadystatechange = getRequestProc;

httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=windows-1251");

    httpRequest.send(txt);
}

function getRequest()
{
    if (httpRequest.readyState == 4)
    {
        document.getElementById(resultId).innerHTML = httpRequest.responseText;
    }
}


function fall()
{
 setInterval('sendRequest("news.php","result",getRequest)', 5000);
}
</script>
</head>
<body bgcolor="black" onLoad="fall()">

<p type="hiden" id="txt">
<font style='font-family:verdana;font-size:16px;color:#b17b0e;'><p id="result"></p></font>
</body>
</html>


как с помощью этого скрипта передать (принять) результаты работы скрипта (масивов):

<?
// В цикле переносим результаты запроса в массив
    
$i 0;
while (
$arResult mysql_fetch_array($result)):
    
$i++;
     for (
$p=0;$p<(count($arResult)/2);$p++)
    {
   
$news[$p]= $arResult[$p];
   }
   
$zet=count($news);


 
$news1[$i]= "images/".$news[10];
 
$news2[$i]= $news[0];
 
$news3[$i]= $news[1];
 endwhile;
?>

   
 
 автор: SHAman   (09.01.2008 в 22:33)   письмо автору
 
   для: dima2207   (09.01.2008 в 22:19)
 

многабукаф, простите мой английский:)

Смысл ответа, если вопрос сформулирован верно, таков:


#для обычных массивов
print "response=(val1, val2, val3)";
#для ассоциативных массивов
print "redponse={key1:value2, key2:value2}";


На клиенте принимаете ответ и делаете ему

eval(ajax_response); alert(response);

   
 
 автор: dima2207   (09.01.2008 в 22:58)   письмо автору
 
   для: SHAman   (09.01.2008 в 22:33)
 

Ясно , а есть ли способ передать хтмл страницу (или часть ее) со всеми тегами , рисунками ?
Дело все в том что у меня формируется хтмл код :



<td width="115" height="105" valign="top" background="square.gif">&nbsp;<center><a href='<?=$news1[1];?>' rel='thumbnail'><img src='<?=$news1[1];?>' style='width: 70px; height: 111px' align='center' /></a><br><a href="index.php?oz=<?=$news2[1];?>"><?print @$news3[1];?></center></td>
  <td width="130" valign="top" background="square.gif">&nbsp;<center><a href='<?=@$news1[2];?>' rel='thumbnail'><img src='<?=$news1[2];?>' style='width: 70px; height: 111px' align='center' /></a><br><a href="index.php?oz=<?=@$news2[2];?>"><?print @$news3[2];?></center></td>
            <td width="146" valign="top" background="square.gif">&nbsp;<center><a href='<?=@$news1[3];?>' rel='thumbnail'><img src='<?=$news1[3];?>' style='width: 70px; height: 111px' align='center' /></a><br><a href="index.php?oz=<?=@$news2[3];?>"><?print @$news3[3];?></center></td>
            <td width="125" valign="top" background="square.gif">&nbsp;<center><a href='<?=@$news1[4];?>' rel='thumbnail'><img src='<?=$news1[4];?>' style='width: 70px; height: 111px' align='center' /></a><br><a href="index.php?oz=<?=@$news2[4];?>"><?print @$news3[4];?></center></td>
            <td width="113" valign="top" background="square.gif">&nbsp;<center><a href='<?=@$news1[5];?>' rel='thumbnail'><img src='<?=$news1[5];?>' style='width: 70px; height: 111px' align='center' /></a><br><a href="index.php?oz=<?=@$news2[5];?>"><?print @$news3[5];?></center></td>
            <td width="7" height="468" rowspan="3" valign="top" background="right.gif">

И можно было-бы ее подставить простым инклудом , но мне надо что-бы этот код подгружался аяксом . Как это можно реализовать ?

   
 
 автор: dima2207   (09.01.2008 в 23:29)   письмо автору
 
   для: dima2207   (09.01.2008 в 22:58)
 

В вашем блоге SHAman я надыбал следуюий код :

<div id="my-div"> суда будут записаны полученные данные</div>
<a href="" onClick="getData ('1');return false;">запрос 1</a> | 
<a href="" onClick="getData ('2');return false;">запрос 2</a>
<script type="text/javascript">
$(document).ready(function() {
    if(location.hash){
        getData(location.hash.substring(1));
    }
});
function getData(arg){
    location.hash = arg;
    $.get("test.php",{ id:arg},function(data){
        $("#my-div").html(data);
     });
}
</script>

и немогу понять , тут или чего - то нехватает , или что-то неправельно , потомучто у меня этот код почему-то перегружает страницу , да и результатов работы test.php невидать .
почему ?

   
 
 автор: AlexSol   (10.01.2008 в 09:59)   письмо автору
 
   для: dima2207   (09.01.2008 в 23:29)
 

тут не хватает подключения этой библиотеки http://jquery.com/

   
 
 автор: SHAman   (10.01.2008 в 16:38)   письмо автору
 
   для: AlexSol   (10.01.2008 в 09:59)
 

Совершенно верно.

   
 
 автор: dima2207   (10.01.2008 в 19:20)   письмо автору
 
   для: SHAman   (10.01.2008 в 16:38)
 

Ясно ! Тогда возникает резонный вопрос - как подключить эту библиотеку ?
Что неужели простым :
<script src="js/jquery.js" type="text/javascript">
</script>

   
 
 автор: AlexSol   (10.01.2008 в 19:26)   письмо автору
 
   для: dima2207   (10.01.2008 в 19:20)
 

угу

   
 
 автор: dima2207   (10.01.2008 в 19:44)   письмо автору
 
   для: AlexSol   (10.01.2008 в 19:26)
 

Нет , неполучается передать :

<? print "
<center><a href='".$news1[1]."' rel='thumbnail'><img src='".$news1[1]."' style='width: 70px; height: 111px' align='center' /></a><br><a href='index.php?oz=".$news2[1]."'>".@$news3[1]."</center> ";
?>


а вот статическую страничку типа :
<? print "ttttttttttttttttttttttttttttttttttt ttttttttttt";?>
Передает ! Почему ? как передать картинки со всей разметкой хтмл ?

   
 
 автор: bronenos   (10.01.2008 в 19:42)   письмо автору
 
   для: dima2207   (10.01.2008 в 19:20)
 

Ессно, надо ее скачать для начала

   
 
 автор: dima2207   (10.01.2008 в 20:38)   письмо автору
 
   для: bronenos   (10.01.2008 в 19:42)
 

У меня есть еще пару вопросов по теме :
почему когда я меняю исходный код результирующей страницы, захожу в браузер и нажимаю F5 , то у меня на экране данные оставшиеся от прошлого измененения !там ведь написано что данные не кешируются !
и второй вопрос : как получить идентификатор страницы
<? print $_GET['.......'];?>

   
 
 автор: dima2207   (10.01.2008 в 21:45)   письмо автору
 
   для: dima2207   (10.01.2008 в 20:38)
 

Благодарю всех за участие !
Уже разобрался !

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования