Ajax-Problem (bin ich hier richtig?)

Soapp

Erfahrenes Mitglied
Hi Profis, ich versuche gerade mein 1. AJAX Script zum Leben zu erwecken.
Allerdings tut sich nicht viel. Ich mache eine SQL-Abfrage und möchte das Ergebnis
zurückgeben. Ich habe ein Textfeld in dem ich eine Zahl eingebe. Diese wird
an manufacturers.php?id=<zahl> übergeben. Das funktioniert auch.
alert(url) liefert mir z. Bsp: "manufacturers.php?id=1".
Rufe ich nur die manufacturers.php?id=1 auf kriege ich korrekt:

<document>
<data>Matrox</data>
</document>
Irgendwas scheint schiefzugehen.

Firefox meint:
Fehler: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: http://www..../ajax/index.htm?id=1&Submit=Submit :: anonymous :: line 28" data: no]
Zeile: 28


Danke, danke, danke für die Hilfe

Soapp


PHP:
<script language = "javascript">
   var XMLHttpRequestObject = false; 
    if (window.XMLHttpRequest) 
                       {  XMLHttpRequestObject = new XMLHttpRequest();
		          XMLHttpRequestObject.overrideMimeType("text/xml");
		       } else if (window.ActiveXObject) 
			  {XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); }
  
function manufacturer(id)
{

    if(XMLHttpRequestObject) 
	{				
	var url = 'manufacturers.php?id=' + id;
	XMLHttpRequestObject.open("GET", url, true); 
	}
        
   XMLHttpRequestObject.onreadystatechange = function() 
      { 
         if (XMLHttpRequestObject.readyState == 4 &&XMLHttpRequestObject.status == 200) 
         { 
	  var manufName = XMLHttpRequestObject.responseXML;
	  document.write(manufName)
          } 
     } 
     XMLHttpRequestObject.send(null); 
 }

</script>

<form id="form1" name="form1" onsubmit="manufacturer(document.getElementById('id').value)">
<input type="text" name="id" id="id">
<input type="submit" name="Submit" value="Submit" />
</form>

manufacturers.php:
PHP:
<?php
header('Content-Type: text/xml');
.......
$id = $_GET['id'];
$query = mysql_query("SELECT  name FROM manufacturers where id = $id ");
$query2 = mysql_fetch_array($query);
$name = $query2['name'];
echo '<?xml version="1.0" ?>';
print '<document><data>'.$name.'</data></document>';

?>
 
Zuletzt bearbeitet:
Zurück