Chyba nie możesz printować jeśli chcesz by ajax to złapał.
Swoją drogą - ja również mam problem. Mam kod w js/ajax:
var http_request = false;
function makeRequest(id)
{
http_request = false;
if (window.XMLHttpRequest)
{
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject)
{
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request)
{
alert('Poddaję się :( Nie mogę stworzyć instancji obiektu XMLHTTP');
return false;
}
http_request.onreadystatechange = function() { alertContents(http_request); };
http_request.open('GET', '/includes/ajax_api.php?id='+id, false);
http_request.send(null);
}
function alertContents(http_request) {
if (http_request.readyState == 0) { alert('NIEZAINICJOWANY'); }
if (http_request.readyState == 1) { alert('ładuje'); }
if (http_request.readyState == 2) { alert('załadował'); }
if (http_request.readyState == 3) { alert('walczy z dokumentem'); }
if (http_request.readyState == 4) {
alert('cos pobralo');
if (http_request.status == 200) {
alert("RESPONSE: "+http_request.responseText);
} else {
alert('Wystąpił problem z zapytaniem.');
}
}
}
oraz kod w php:
include_once("config/vars.php");
include_once("class/database.php");
database::db_connection(__DB_DB__,__DB_HOST__,__DB_USER__,__DB_PASS__);
header("Content-type: text/xml; charset=UTF-8");
$id=$_GET['id'];
$sql="SELECT `product_name` FROM `sport_produkty` WHERE `product_id`='$id'";
return $row['product_name'];
Problem polega na tym że nie wyświetla mi nic w alercie, po napisie "RESPONSE:", tak jakby responseText był pusty. A reszta komunikatów wskazuje na to że zapytanie się wykonało, np (ładuje - załadował - coś pobrało).
W czym tkwi problem ?Czytałem sporo manuali i jestem początkujący w ajaxie.