[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ajax
DmitryOpalev
Здравствуйте.
Есть JS и небольшая форма:
Свернутый текст
<div id='wait'></div>
<input
type='text' id='field'><br>
<input
type='button' value='Отправить' onClick="Send()">

<script>
function Send()
{
var link;
var param;
var txt = document.getElementById('field').value;
if(txt=="") {alert("Поле не заполнено"); return false;}
if(window.XMLHttpRequest) {link = new XMLHttpRequest();}
else
{if(window.ActiveXObject)
{
var XMLHTTP = ["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
for(i=0; i<4; i++)
{
try{link = new ActiveXObject(XMLHTTP[i]); break;}
catch (e) {}
}
}
}

if(!link) {alert("Извините, но Ваш браузер не поддерживает Ajax"); return false;}
param = "string="+encodeURIComponent(txt);
link.open("POST","/jquery.php","true");
link.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
link.onreadystatechange = function() {DataRequest(link);}
link.send(param);
document.getElementById('wait').innerHTML = "<img src='/images/loader.gif' width='12'>Загрузка...";
}

function DataRequest()
{
if(link.readyState == 4)
{
if(link.status == 200)
{
var wait = link.responseText;
document.getElementById('field').value=" ";
document.getElementById('wait').innerHTML = wait;
}
}

else
{
document.getElementById('wait').innerHTML = "Ошибка";
}
}

</script>

В этом же каталоге есть jquery.php:
<?php
Header('Content-type: text/html; charset=utf-8');
if($_POST['string'])
{echo "Запрос получен";}
else {echo "Данные не получены";}
?>

Но крутилка с надписью "Загрузка" никак не пропадает :unsure: Опера ошибок не нашла.
Помогите разобратся, в чем тут дело



Спустя 9 часов, 55 минут, 58 секунд (1.06.2011 - 07:48) Michael написал(а):
Ну вот первое несоответствие, которое видно:
{DataRequest(link);}

DataRequest()

- параметр пропустил

Цитата
if($_POST['string'])

Наверное все таки
 if (isset($_POST['string']))

?

Спустя 1 час, 29 минут, 16 секунд (1.06.2011 - 09:17) Guest написал(а):
Цитата (Michael @ 1.06.2011 - 04:48)
Цитата
<pre class="sh_sourceCode" rel="php"><span class="sh_control">if</span><span class="sh_symbol">(</span><span class="sh_variable">$_POST</span><span class="sh_symbol">[</span><span class="sh_string">'string'</span><span class="sh_symbol">])</span></pre>

Наверное все таки
 if (isset($_POST['string']))

?

это не принципиально...

Спустя 7 минут, 9 секунд (1.06.2011 - 09:24) Michael написал(а):
проверять надо все равно. В случае ТС empty все же лучше будет

Спустя 7 минут, 20 секунд (1.06.2011 - 09:31) nugle написал(а):
Выше был я))
Цитата
проверять надо все равно

здесь полностью согласен
а if($var) и if(isset($var)) одинаковы по выполнению ведь.

Спустя 3 минуты, 56 секунд (1.06.2011 - 09:35) Michael написал(а):
nugle, нет, не одинаковы. Если $var не существует то if($var) выдаст нотис. Плюс логика совсем другая ...


_____________
Курс валют
Быстрый ответ:

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