Jump to content

Code Issues


mattd8752

Recommended Posts

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.

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.