[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ну как так!!! AJAX
TopRider
Подскажите что не то.... Ajax-скрипт не получает результат PHP-скрипта
index.php:
<!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">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<
script type="text/javascript" src="func.js"></script>
<
title>Ajax--home.com</title>
</
head>

<
body>

<
a href="" onclick="ajaxFunction(2)" id="2">
Пример работы AJAX-скрипта</a>:<p>
Ответственное подразделение:<input type="text" id="OtvetPodrazdel"/><p>
Термин контроля:<input type="text" id="Termin"/>


</
body>
</
html>


func.js
// JavaScript Document

var ajax=null;

function getAjax()
{
if (window.ActiveXObject) // для IE
{
alert('Создано для IE')
return new ActiveXObject("Microsoft.XMLHTTP");

}
else if (window.XMLHttpRequest)
{
alert('Создано для Opera, FF, Chrome');
return new XMLHttpRequest();
}
else {
alert("Browser does not support AJAX.");
return null;
}
}


function ajaxFunction(id)
{
ajax=getAjax();
var param;
if (ajax != null)
{
try
{
ajax.open("POST","gethint.php",true);

} catch(e){alert('Не сработало')}
param="id="+id;

ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

ajax.setRequestHeader("Connection", "close");

ajax.onreadystatechange = function()
{
if(ajax.readyState==4 && ajax.status==200)
{ alert(ajax.responseText)
var arr=ajax.responseText.split('&');

document.getElementById('OtvetPodrazdel').value=arr[0];
document.getElementById('Termin').value=arr[1];
}
else alert("ajax.readyState="+ajax.readyState+"<br>ajax.status="+ajax.status);
}


ajax.send(param);
}
}


gethint.php:
<?
$db = mysql_connect ("localhost","toprider","P@ssw0rd");
mysql_select_db ("docs",$db);
if (!$db) die("Чуваня not connected: " . mysql_error());
$_POST['id']=2;
$result = mysql_query("SELECT * FROM `Documents` WHERE `Num` LIKE ".$_POST['id']." LIMIT 1");

$row = mysql_fetch_array($result);
$response = $row['OtvetPodrazdel']."&".$row['Termin'];

echo $response;

?>




Спустя 4 минуты, 31 секунда (24.03.2012 - 21:07) ADiel написал(а):
while($row = mysql_fetch_array($result))
$responseText = $row['OtvetPodrazdel']."&".$row['Termin'];

echo $response; # может $responseText ?


И объясните смысл while в данном коде

LIKE ".$_POST['id']." LIMIT 1"
Ждите инъекций

Спустя 31 минута, 46 секунд (24.03.2012 - 21:39) TopRider написал(а):
сорри...согласен, не вернул обратно response))) отредактировал месаж...
и вайл убрал


но данные то не передаются!!!! вернее в Димвивере передаются в интерактивном режиме, а в браузерах - нет

и $ajax.status конечный равен 0

Спустя 53 минуты, 2 секунды (24.03.2012 - 22:32) ADiel написал(а):
Нужно смотреть в консоли разработчика в хроме. Запросы, ответы, ошибки js, в consile.log промежуочные данные выводить...

Спустя 2 дня, 23 часа, 17 минут, 7 секунд (27.03.2012 - 21:49) TopRider написал(а):
УРА!!! Вы не представляете насколько всё грустно!!!!

ОТВЕТ таился в таком моменте, на который буквально случайно попал

Цитата
<body>

<a href="" onclick="ajaxFunction(2)" id="2">
Пример работы AJAX-скрипта</a>:<p>


href="#" - вот в чем проблема была!!!! biggrin.gif
Быстрый ответ:

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