Step 6 – Creating the AJAX Requests

I’m not going to make this a tutorial on AJAX – you may want to do some background reading on it before we go much further. Or you can just take what I say on trust … it’s up to you.

An AJAX request is a JavaScript object. The way that the object is created depends on the browser that’s being used (sigh!) since Microsoft implements it using an ActiveX object, and other browsers have a native implementation. So I need to test for the browser when I create the request object.

Fortunately, there’s a lot of code out there that will save me the effort of developing it myself – see, for example, this excellent tutorial provided by IBM. Here’s my version.

function createRequest() {

  // this is the object that we're going to (try to) create
  var request;

  // does the browser have native support for
  // the XMLHttpRequest object
  try {
    request = new XMLHttpRequest();
  }

  // it failed so it's likely to be Internet Explorer which
  // uses a different way to do this
  catch (tryIE) {

    // try to see if it's a newer version of Internet Explorer
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    } 

    // that didn't work so ...
    catch (tryOlderIE) {

      // maybe it's an older version of Internet Explorer
      try {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      }

      // even that didn't work (sigh)
      catch (failed) {
        alert("Error creating XMLHttpRequest");
      }

    }
  }

  return request;

}

I’ll add this to the api.html file that I created earlier so that it can be used by the SCORM RTE API functions.

Next step … using the AJAX request in the SCORM API functions.

This entry was posted in Run Time Environment. Bookmark the permalink.

2 Responses to Step 6 – Creating the AJAX Requests

  1. Pingback: Desarrollando un LMS(con soporte de SCORM) « Jorge Dieguez Blog

  2. Pingback: Desarrollando un LMS(con soporte de SCORM)

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>