<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);
}
Это связано с тем, что 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); }