Post Data with the JavaScript XMLHttpRequest Method url not found

Tell us what’s happening:

where to post the requet . I can’t find the varibale of url. any helps are appreciated.

Your code so far


<script>
  document.addEventListener('DOMContentLoaded',function(){
    document.getElementById('sendMessage').onclick=function(){
    
      var userName=document.getElementById('name').value;
      // Add your code below this line
      var req = new XMLHttpRequest();
      req.open("POST","/json/cats.json",true);
      req.setRequestHeader("Content-Type","text/plain");
      req.onreadystatechange = function(){
        if(req.readyState==4&&req.status==200){
          document.getElementsByClassName("message")[0].innerHTML = req.responseText;
        }
      }
      req.send(userName);
      // Add your code above this line
    };
  });
</script>
<style>
  body {
    text-align: center;
    font-family: "Helvetica", sans-serif;
  }
  h1 {
    font-size: 2em;
    font-weight: bold;
  }
  .box {
    border-radius: 5px;
    background-color: #eee;
    padding: 20px 5px;
  }
  button {
    color: white;
    background-color: #4791d0;
    border-radius: 5px;
    border: 1px solid #4791d0;
    padding: 5px 10px 8px 10px;
  }
  button:hover {
    background-color: #0F5897;
    border: 1px solid #0F5897;
  }
</style>
<h1>Cat Friends</h1> 
<p class="message box">
  Reply from Server will be here
</p>
<p>
  <label for="name">Your name:
    <input type="text" id="name"/>
  </label>
  <button id="sendMessage">
    Send Message
  </button>
</p>

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/data-visualization/json-apis-and-ajax/post-data-with-the-javascript-xmlhttprequest-method

1 Like

I think the URL is stored in a variable called “url”, like in the example, try that.

2 Likes

I can’t understand what is the solution. I know the url should be the variable with the value of the URL. But I can’t see where it is assigned or for that matter what value to assign to it.

1 Like

I think it is defined by the testing framework, behind the scenes. Don’t worry about it.

1 Like

Apparently it’s not. There is no response text showing up in the ‘message box’. In addition the tests are messed up. As someone else pointed out when you remove the ‘req =’ in front of the new XMLHttpRequest, the tests still pass. That is when the variable req is undefined so that the subsequent code is doing nothing.
Somebody should worry about it. If you need someone to clean up this whole D3 section, I would be happy to do it.

3 Likes

Have you tried this lesson? It definitely does not issue a network request. It does if you actually define the url variable. Never-the-less it passes the tests even when the req variable is undefined! This excercise needs to be fixed. It is an example of “how not to program” but the student doesn’t know that and it only serves to confuse.

Great! Thanks for the links. I didn’t know you were on github. I’ll get on it.

Could you post the URL string here so I can paste it to pass the challenge?? I’m a professor and I’m using FCC with my students and I need to do this demostration!!