Skip to content

Get form response to show on page #34

Description

@i2xzy

Based off ws-cookies from Week 7 Day 1

changes to index.html:

    <form action="/auth_check" method="GET" class="js-auth">
      <button type="submit">Am I authenticated?</button>
    </form>
  </main>
  <script src='./index.js'></script>

index.js:

var auth = document.querySelector('.js-auth');

auth.addEventListener('submit', function(e) {
  e.preventDefault();
  var xhr = new XMLHttpRequest();

  xhr.addEventListener('load', function() {
    if (xhr.readyState === 4 && xhr.status === 200) {
      console.log('fetch is working');
      var response = JSON.parse(xhr.responseText);
      var message = document.createElement('span');
      response
        ? (message.textContent = 'Logged In')
        : (message.textContent = 'Unauthorised');
      auth.appendChild(message);
    } else {
      console.log('fetch error');
    }
  });
  xhr.open('GET', '/auth_check', true);
  xhr.send();
});

changes to router.js:

case 'GET /auth_check':
      if (req.headers.cookie === 'logged_in=true') {
        res.writeHead(200, {
          'Content-Type': 'application/javascript'
        });
        res.end('true');
      } else {
        res.writeHead(200, {
          'Content-Type': 'application/javascript'
        });
        res.end('false');
      }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions