mattd8752 Posted February 1, 2007 Share Posted February 1, 2007 Ok, here is what I am having the problems with in AJAX, the page just doesn't do anything when I click the link. Here is the first page: <html> <head> <title>RPG</title> <script language="Javascript" type="text/javascript" src="./JAVASCRIPT/ajax.js"></script> </head> <body> <div id="content"> <p><b>WARNING:</b> this website uses AJAX (an advanced form of javascript). Most modern browsers do support this. If the link below works our website should work fine for you. Otherwise we reccomend you upgrade to FireFox.</p> <a href="#" onclick="sendRequest('news', 'content');">Continue...</a> </div> </body> </html> In the JAVASCRIPT folder: The JavaScript page: function createRequestObject() { var req; if(window.XMLHttpRequest){ // Firefox, Safari, Opera... req = new XMLHttpRequest(); } else if(window.ActiveXObject) { // Internet Explorer 5+ req = new ActiveXObject("Microsoft.XMLHTTP"); } else { // There is an error creating the object, // just as an old browser is being used. alert('Problem creating the XMLHttpRequest object'); } return req; } function handleDivTag(divtag) { var divtag; return divtag; } // Make the XMLHttpRequest object var http = createRequestObject(); // Create the Divtag Handler -- Mainly an IE 6 Fix var divhandler = new handleDivTag(null); function sendRequest(act,divtag) { // Open PHP script for requests http.open('get', 'request.php?act='+act); http.onreadystatechange = handleResponse; divhandler.divtag = divtag; http.send(null); } function handleResponse() { if(http.readyState == 4 && http.status == 200){ // Text returned FROM the PHP script var response = http.responseText; if(response) { // UPDATE ajaxTest content document.getElementById(divhandler.divtag).innerHTML = response; } } } And, my request.php (JAVASCRIPT folder): <?php //This page takes all AJAX page requests and redirects them where they belong. if($_GET['act'] == "news"){ header ('Location: ../news.php'); } ?> If anyone can find where I made the mistake please reply. I don't think its a PHP mistake though, because PHP would atleast display a 404 after forwarding, or headers error. Quote Link to comment Share on other sites More sharing options...
tomfmason Posted February 1, 2007 Share Posted February 1, 2007 Well I am not sure if this will fix it or not but the sendRequest function is out of order.. You are calling the readystatechange before sending anything to the file. I know that shouldn't make much of a difference but it is always best to send anything that needs to be sent before you define the function to be used when the readyState has changed.. Are there any errors and can you post a link to a live version? edit After looking at your code again, I don't see what this is supposed to be doing divhandler.divtag = divtag; Can you explain what that is doing? Quote Link to comment Share on other sites More sharing options...
mattd8752 Posted February 3, 2007 Author Share Posted February 3, 2007 Actually, I can't. I got this code from AJAX freaks. I can't find what the problem is, I will try it without that line though Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.