jamesTheProgrammer
jamesTheProgrammer

Reputation: 1777

GetXmlHttpObject AJAX call to a php file

I am trying to call a php file using GetXmlHttpObject object and having some luck, but seem to have problem with the URL variable.

Is there something I have to do with the URL string differently?

Here is the relevant code:

remoteCounter('marks');//invoking function

document.write("<div id=\"marks\"></div>");//destination div

function GetXmlHttpObject () {

 var xmlHttp = null;

 try {
   // Firefox, Opera 8.0+, Safari, IE 7+
   xmlHttp = new XMLHttpRequest();
 } catch (e) {
   // Internet Explorer - old IE - prior to version 7
   try {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
   }
 }

 return xmlHttp;
}


function remoteCounter(param){
counterObj = GetXmlHttpObject();

var url="HTTP://dnsname/directory/view.php?" + param;
alert(url + " " + counterObj);

counterObj.open("GET", url , true);
counterObj.onreadystatechange=updateCounter;
counterObj.send(null);
}

function updateCounter(){
//alert('updateCounter');
    if (counterObj.readyState == 4 || counterObj.readyState == "complete"){
        document.getElementById("marks").innerHTML=counterObj.responseText;
    }
}

I can replace the counterObj.responseText variable in document.getElementById("marks").innerHTML=counterObj.responseText;

and see the test string correctly in the source document, so I know the html and jscript source is not the problem.

I have commented out code in the view.php file to just echo a simple string, but that is not showing either - which again makes me think the problem is in the request to the file, not in the file, not in the source.

Actual server name and directory have been replaced by dnsname/directory for this post. Including alert for debugging.

thank you for assistance.

Upvotes: 0

Views: 4165

Answers (1)

Angel
Angel

Reputation: 26

Replace order of two first lines:

document.write("<div id=\"marks\"></div>"); //destination div

remoteCounter('marks');  //invoking function

It's necesary declarate div tag with id "marks" first.

Upvotes: 1

Related Questions