I’ve trying to declare a variable outside of any functions, so that functions are able to assign a value to it, and other functions retreive the value, however I’m not able to get it to work.
I get an error around about
[CODE]
function getPage(dataSource, request) {
getData(dataSource, request);
if (xmlDocument.getElementsByTagName(“keywords”)[0].hasChildNodes()) {
var keywords = xmlDocument.getElementsByTagName(“keywords”)[0].firstChild.data;
} else {
var keywords = ”;
}
which tells me that xmlDocument is either null or not an object.
I’ve tried assigning value and retreiving them using window.xmlDocument but I get the same error message.
Heres the whole code of the page.
[CODE]
<html>
<head>
<title>Ajax and PHP at work</title>
<script language=”javascript”>
var xmlDocument;
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject(“Microsoft.XMLHTTP”);
}
function getData(dataSource, request) {
if(XMLHttpRequestObject) {
XMLHttpRequestObject.open(“POST”, dataSource);
XMLHttpRequestObject.setRequestHeader(“Content-Type”,”application/x-www-form-urlencoded”);
XMLHttpRequestObject.onreadystatechange = function() {
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
xmlDocument = XMLHttpRequestObject.responseXML;
}
}
XMLHttpRequestObject.send(request);
}
}
function getPage(dataSource, request) {
getData(dataSource, request);
if (xmlDocument.getElementsByTagName(“keywords”)[0].hasChildNodes()) {
var keywords = xmlDocument.getElementsByTagName(“keywords”)[0].firstChild.data;
} else {
var keywords = ”;
}
if (xmlDocument.getElementsByTagName(“title”)[0].hasChildNodes()) {
var title = xmlDocument.getElementsByTagName(“title”)[0].firstChild.data;
} else {
var title = ”;
}
if (xmlDocument.getElementsByTagName(“description”)[0].hasChildNodes()) {
var description = xmlDocument.getElementsByTagName(“description”)[0].firstChild.data;
} else {
var description = ”;
}
if (xmlDocument.getElementsByTagName(“content”)[0].hasChildNodes()) {
var content = xmlDocument.getElementsByTagName(“content”)[0].firstChild.data;
} else {
var content = ”;
}
document.write(title);
document.write(description);
document.write(keywords);
document.write(content);
}
</script>
</head>
<body>
<H1>Fetching data with Ajax and PHP</H1>
<form>
<input type=”button” value=”Display Message” onclick=”getPage(‘php_content_get.php’,’id=25′);”>
</form>
<div id=”targetDiv”>
<p>The fetched data will go here.</p>
</div>
</body>
</html>