Beste leden,

Ik probeer al een uur mijn data uit mijn php bestand te krijgen via ajax, maar mijn respons is altijd undefined wanneer de functie sendMsg wordt aangeroepen, enig idee waarom? thx

js

var XMLHTTPObject =createHTTPHandler();

//create the httphandler
function createHTTPHandler(){
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	// JScript gives us Conditional compilation, we can cope with old IE versions.
	// and security blocked creation of the objects.
	 try {
	  XMLHTTPObject = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
	  try {
	   XMLHTTPObject = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (E) {
	   XMLHTTPObject = false;
	  }
	 }
	@end @*/
	if (!XMLHTTPObject && typeof XMLHttpRequest!='undefined') {
	  XMLHTTPObject = new XMLHttpRequest();
	}
	return XMLHTTPObject;
}
//send message
function sendMsg(){	
	XMLHTTPObject.open("GET", "chat.php?", true);
	 	
	XMLHTTPObject.onreadystatechange=function() {
		if (XMLHTTPObject.readyState==4) {
			alert(XMLHTTPObject.repsonseText);
		}
	}
	
	XMLHTTPObject.send(null);
}


chat.php

<?php
	if(isset($_SERVER['HTTP_X_USERAGENT']) && $_SERVER['HTTP_X_USERAGENT'] == 'chatsupportv1.0')
	{	
    echo "boe";
	}
?>

waarom GET je chat.php? en niet chat.php

edit: zo doe ik het, en het werkt :

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}


function bla()
{
function aanpassen()
{
 ///////// meer
}

xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Je browser ontsteunt geen AJaX!");
  return;
  }
var url="bla.php";
xmlHttp.onreadystatechange=aanpassen;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);

}
welja, zonder het onderstaande werkt mijn code ook perfect maar wat is er mis met mijn conditie die controleert of hij klaar is?


 if (XMLHTTPObject.readyState==4) {
            alert(XMLHTTPObject.repsonseText);
        }
Dat er "repsonseText" staat i.p.v "responseText"?
Jezus hoe belachelijk. Soms erg eh, een mens begint te twijfelen aan zichzelf, en je kijkt gewoon om een stomme tikfout :s

Merci hé,

werkt!
Jah, soms heb je ff iemand anders nodig die t ziet ;)
objectieve meningen helpen inderdaad soms...
zat net ook ergens $vars met zichzelf te hernoemen waardoor het resultaat niet meer was wat het moest zijn... it happens...
Ben nu bezig met een post, wil geen get gebruiken, nu moet ik de parameters meegeven in de body van send. maar hoe gaat die want kheb steevast de error dat 'msg' parameter niet bestaat.


XMLHTTPObject.open("POST", "chat.php", true);
	XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
	XMLHTTPObject.setRequestHeader("X_USERAGENT", "chatsupportv1.0");
	XMLHTTPObject.send("msg="+document.getElementById("msg").value);



<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');

	if(isset($_SERVER['HTTP_X_USERAGENT']) && $_SERVER['HTTP_X_USERAGENT'] == 'chatsupportv1.0')
	{	     
     echo htmlentities($_POST['msg']);     
	}
?>



Notice: Undefined index: msg in /home/tom/domains/tombeuckelaere.be/public_html/public_lab/project 0023 chat support/chat.php on line 7
XMLHTTPObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); is dus de oplossing :D

Reageren