Как решить проблему кэширования файла при Ajax запросе Как решить проблему кэширования файла при Ajax запросе - Архив
Как решить проблему кэширования файла при Ajax запросе
DownLoad_Free

Как решить проблему кэширования файла при Ajax запросе - Архив

Нашли ошибку или
хотите что-то сообщить -
жмите Ctr+Enter Система Orphus



    [Ленточный вид форума] [Поиск] [RSS]



Страница 1 из 11
Архив » История мировых и локальных событий » История развития сайта » Как решить проблему кэширования файла при Ajax запросе (пример чата с исходником)
Как решить проблему кэширования файла при Ajax запросе
Дата: Пятница, 16.10.2009, 01:35 | Сообщение # 1
Группа: Администраторы
Сообщений: 1526
При создании чата на Ajax столкнулся с проблемой кэширования файла хранящего переписку браузерами Opera и IE.
Задачу удалось решить следующим образом:

url=url+"?sid="+Math.random();
где, url - файл с данными,
Решение проблемы - смена адреса файла.

Пример чата:
 
Дата: Пятница, 16.10.2009, 01:38 | Сообщение # 2
Группа: Администраторы
Сообщений: 1526
<html>
<head>
<script type="text/javascript">
var xmlhttp;
function loadXMLDoc(url)
{
url=url+"?sid="+Math.random();
xmlhttp=null;
if (window.XMLHttpRequest)
{// code for Firefox, Opera, IE7, etc.
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp!=null)
{
xmlhttp.open("GET",url,true);
xmlhttp.onreadystatechange=state_Change;
xmlhttp.send(null);
}
else
{
alert("Your browser does not support XMLHTTP.");
}
}

function state_Change()
{
if (xmlhttp.readyState==4)
{// 4 = "loaded"
if (xmlhttp.status==200)
{// 200 = "OK"
document.getElementById('note').innerHTML=xmlhttp.responseText;
}
else
{
alert("Problem retrieving data:" + xmlhttp.statusText);
}
}
}

function showHint() {document.getElementById("txtHint").innerHTML=document.getElementById("txt1").value;}
</script>
</head>

<body>
<?php
$file12=fopen("note.txt", "r"); //считываем файл
$txt_read=fread($file12,100);
fclose($file12);
$txt="<br>".$txt1.$txt_read;

$r=2;
$name="note".$r.".txt";
$file13=fopen($name, "w"); //создать файл
fputs($file13, $txt);
fclose($file13);

unlink('note.txt'); //удаляем файл
copy($name, 'note.txt'); //копируем файл
unlink($name);

echo "<script>function ss1() {document.getElementById('note').innerHTML='".$txt."';}</script>";

?>

<form method=post action=exemple8.php>
<input type="text" id="txt1" name="txt1" style="width:300px;" onkeyup="showHint(this.value)">
<input type="submit" value="Отправить">
</form>

<p>Ваш текст: <span id="txtHint"></span></p><hr /><hr />

<p><span id="note" onClick="loadXMLDoc('note.txt')" style="cursor:pointer"></span></p>
</body>
<script>
ss1();

var t=setInterval("loadXMLDoc('note.txt')",5000);
</script>
</html>

 
Архив » История мировых и локальных событий » История развития сайта » Как решить проблему кэширования файла при Ajax запросе (пример чата с исходником)
Страница 1 из 11
Поиск:


Copyright kachay.ucoz.org © 2008-2017Хостинг от uCoz
^ Наверх ^
Пригодилось!