[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Странное поведение Firefox
Doszhan
Есть приложение, в котором есть несколько php файлов к которым обращается js для загрузки, изменения и добавления кое-каких данных.

В хроме все нормально работает.

Файрфокс не получив ответа от некоторых php файлов вызывает несколько раз пока не получит ответ, а некоторые один раз вызовет, они не отработают и происходит ошибка.

Кто-нибудь сталкивался с таким поведением и какие есть догадки?

А вот если вызываю php файл подставив адрес с параметрами в адресную строку, то все работает нормально. Адрес с параметрами выглядит так:

php/getCreateAnketa.php?how_much=0&type=false&free_used=0&name=qqqqq&countf=3&sender=161575935&q1=qqq&q2=qq&q3=qqqq



Вызывается php-файл таким образом:

 var url = "php/getCreateAnketa.php?how_much=" + x + "&type=" + type + "&free_used=" + free_used + "&name="+to_send;
getCreateAnketa.open("GET", url, true);
getCreateAnketa.onreadystatechange = gotCreateAnketa;
getCreateAnketa.send(null);





Спустя 25 минут, 9 секунд (13.02.2012 - 09:37) redreem написал(а):
мы угадать должны что за "зверушка" такая этот getCreateAnketa?

Спустя 3 часа, 30 минут, 54 секунды (13.02.2012 - 13:08) Doszhan написал(а):
Да, тупанул)

var getCreateAnketa = false; try { getCreateAnketa = new XMLHttpRequest(); } catch (trymicrosoft) { try { getCreateAnketa = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { getCreateAnketa = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) {getCreateAnketa = false;}}} if (!getCreateAnketa) {alert("Error initializing XMLHttpRequest!");}

Спустя 1 час, 28 минут, 24 секунды (13.02.2012 - 14:36) redreem написал(а):
есть предложение врубить ajax через jQuery.

если хочется разбираться с кроссбраузерностью чистого XMLRequest - вот кроссбраузерный пример, допиливайте сами уже:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
<html>
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>
XML</title>

<script
type="text/javascript">
xmlHttp = createXmlHttpRequestObject();

function createXmlHttpRequestObject() {
var xmlHttp;
if(window.ActiveXObject) {try {xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}
catch (e)
{xmlHttp = false;}}
else
{try{ xmlHttp = new XMLHttpRequest();}
catch(e){xmlHttp = false;}}
if (!xmlHttp) alert("Ошибка создания объекта");else {return xmlHttp;}
}

function voit() {
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) {
name = encodeURIComponent(document.getElementById("name").value);
xmlHttp.open("GET", "/ins.php?name=" + name, true);
xmlHttp.onreadystatechange = ServerResponse;
xmlHttp.send(null);
} else {setTimeout(voit(), 100);}
}


function ServerResponse() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
data = xmlHttp.responseText;
document.getElementById('vote_status').innerHTML = '<i>'+data+'</i>';
setTimeout(voit(), 1000);
} else {
alert("Не могу связаться с сервером");
}
}
}

</script>
</head>
<body>

Введите чтонибудь: <input type="text" name="name" id="name"/> <input type="button" value="Отправить" onclick="voit()"/>
<div
id="vote_status">Здесь будет статус выполнения</div>

</body>
</html>






файл ins.php

<?php
header('Content-Type: text/xml charset=windows-1251');

if (isset($_GET['name'])) {
$name = $_GET['name'];
echo iconv('cp1251','utf-8','Вы ввели: '.$name);


} else {

echo 'Ошибка передачи данных';

}

?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.