храните XMLHttpRequest.responseText как переменную :(

<script language="javascript" type="text/javascript"> 

 try{ // Opera 8.0+, Firefox, Safari ajaxRequest = new XMLHttpRequest(); } catch (e){ // Internet Explorer Browsers try{ ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try{ ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ // Something went wrong alert("Your browser broke!"); return false; } } } // Create a function that will receive data sent from the server ajaxRequest.onreadystatechange = function(){ if(ajaxRequest.readyState == 4){ var result = ajaxRequest.responseText; } } ajaxRequest.open("GET", "vartest.php", true); document.getElementById('span').innerHTML = result; ajaxRequest.send(null); 

}

Related of "храните XMLHttpRequest.responseText как переменную :("

Это связано с тем, что Ajax является асинхронным, и result не установлен, когда вы это делаете (плюс var делает его локальным для функции в любом случае, вам придется удалить это).

Лучше всего было бы переместить строку innerHTML в обратный вызов readystatechange.

 ajaxRequest.onreadystatechange = function(){ if(ajaxRequest.readyState == 4){ document.getElementById('span').innerHTML = ajaxRequest.responseText;; } 
 <script language="javascript" type="text/javascript"> //this is in the global scope //so it's available anywhere **var result;** function ajaxFunction(){ var path = 'http://localhost/php/'; var fileName = 'yourCode.php'; var ajaxRequest; // The variable that makes Ajax possible! try{ // Opera 8.0+, Firefox, Safari ajaxRequest = new XMLHttpRequest(); } catch (e){ // Internet Explorer Browsers try{ ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try{ ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ // Something went wrong alert("Your browser broke!"); return false; } } } // Create a function that will receive data sent from the server ajaxRequest.onreadystatechange = function(){ if(ajaxRequest.readyState == 4){ **result = ajaxRequest.responseText;** } } ajaxRequest.open("GET", path+fileName, true); ajaxRequest.send(null); } </script> 
 ajaxRequest.onreadystatechange = function(){ if(ajaxRequest.readyState == 4){ result = ajaxRequest.responseText; } } ajaxRequest.open("GET", "vartest.php", true); document.getElementById('span').innerHTML = result; ajaxRequest.send(null); }