Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 809769
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T00:46:48+00:00 2026-05-15T00:46:48+00:00

Not sure if the problem is related to Ajax or something silly about JavaScript

  • 0

Not sure if the problem is related to Ajax or something silly about JavaScript that I’m overlooking in general, but I have the following script where fox.html is just plain text that reads, “The quick brown fox jumped over the lazy dog.” :

function loadXMLDoc()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

xmlhttp.open("GET","fox.html",true);
xmlhttp.send();

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    fox = xmlhttp.responseText;
    alert(fox);
    }
  }

}

onload = loadXMLDoc;

The above script alerts the contents of fox.html onload just fine. However if I change the script so that:

{
fox = xmlhttp.responseText;
alert(fox);
}

becomes:

{
fox = xmlhttp.responseText;
return fox;
}

and alert(loadXMLDoc()); onload I get ‘undefined’.

I’m wondering why this is so.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T00:46:49+00:00Added an answer on May 15, 2026 at 12:46 am

    AJAX is asynchronous. Therefore your call to alert(loadXMLDoc()) isn’t actually returning anything.

    xmlhttp.onreadystatechange=function()
      {
      ...
      }
    

    This creates a new function and attaches it to the xmlHTTP object. When the state changes (the event is fired) this function is executed. It is NOT executed during the run of loadXMLDoc() but instead at some point in the future. This is done to maintain usability in your web application (things aren’t waiting for something to complete).

    The data that gets returned from your AJAX request has to be acted upon in this new function you’ve created. You should update the necessary pieces of your page w/ the returned information. It cannot return any data, well actually it can return all it wants but nothing will be done with that information.

    You can also define a new function somewhere else and attach it to the onreadystatechange event handler by doing:

    function handler() { ... }
    
    xhmlhttp.onreadystatechange = handler;
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 410k
  • Answers 410k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer It seems a little strange to me to want to… May 15, 2026 at 7:35 am
  • Editorial Team
    Editorial Team added an answer Short answer: Cookies. Long answer: I suggest you dont try… May 15, 2026 at 7:35 am
  • Editorial Team
    Editorial Team added an answer How about using LayeredPane, this might help. May 15, 2026 at 7:35 am

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.