Skip to main content

XMLHTTPREQUEST Keeps Returning Empty Line When I Send A Request

I am trying to make a login function where it filters through the rest api. The API itself works on localhost and when I enter the local host address(http://localhost:3000/config/username) myself in a browser it works completely fine, but when I try to access it via XMLHTTPREQUEST it keeps returning an empty line. I have tried many things, but it either returns undefined, null, a CORS error, or just doesn't do anything at all.

My Javascript Code Is:

async function getLogin(){
  console.log('------')
  let usernameElement = document.querySelector('#username')
  let passwordElement = document.querySelector('#password')
  const url = `http://localhost:3000/config/${usernameElement.value}`
  try {
    const request = new XMLHttpRequest()
    request.open("GET", url, true);
    let jsonResponse;
    request.send()
    request.onload = function(){
      jsonResponse = request.response
    };
    alert(request.response)
  } catch(err){
    alert(err)
  }
}

And my html is

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="initial-scale=1.0">
  <link rel="stylesheet" href="css/form.css">
  <script src="scripts/login.js"></script>
  <title>Game Login</title>
  <link rel="icon" href="../tools/images/favicon.ico" type="image/x-icon">
</head>
<body>
  <section>
    <h1>Login</h1>
    <form>
      <div class="input-group">
        <input type="text" id="username" class="input" required>
        <label class="input-label">Username</label>
      </div>
      <div class="input-group">
        <input type="password" id="password" class="input" required>
        <label class="input-label">Password</label>
      </div>
      <input type="submit" onclick="getLogin()" class="submit">
    </form>
  </section>
  <div class="bottom">
    <p>Don't have an account? Click here to register</p>
    <a href="register.html">REGISTER</a>
  </div>
</body>

</html>

I have been checking the documentation, looking at other questions in stack overflow and much more, but I can't seem to find an apparent answer to this.

EDIT

I managed to sort of get it to work, but now in order for the results to show, you have to ctrl click submit instead of click it regularly and I am completely confused as to why. One thing that I noticed was that every time you submit it adds this weird ? at the end of the url (eg: file:///filepath/index.html?) and I think that this is causing problems in some way but I don't know how. The current code I am using is

async function getLogin(){
  console.log('------')
  let usernameElement = document.querySelector('#username')
  let passwordElement = document.querySelector('#password')

  if (usernameElement.value == '' | passwordElement.value == '') {
    alert('Error, no username/password given');
    return;
  }
  const url = `http://localhost:3000/config/${usernameElement.value}`
  try {
    const request = new XMLHttpRequest()
    request.open("GET", url, true);
    let jsonResponse;
    request.send()
    request.onload = function(){
      jsonResponse = request.response
      alert(request.response)
    };
  } catch(err){
    alert(err)
  }
}

Also I updated it so it now sends cors headers in my server.js file so now I am no longer getting cors errors. I am really confused as to why I have to ctrl click to get the alert, and about the extra question mark. If anyone has answers to this please tell me.

Via Active questions tagged javascript - Stack Overflow https://ift.tt/x9p2GDY

Comments

Popular posts from this blog

Why is my reports service not connecting?

I am trying to pull some data from a Postgres database using Node.js and node-postures but I can't figure out why my service isn't connecting. my routes/index.js file: const express = require('express'); const router = express.Router(); const ordersCountController = require('../controllers/ordersCountController'); const ordersController = require('../controllers/ordersController'); const weeklyReportsController = require('../controllers/weeklyReportsController'); router.get('/orders_count', ordersCountController); router.get('/orders', ordersController); router.get('/weekly_reports', weeklyReportsController); module.exports = router; My controllers/weeklyReportsController.js file: const weeklyReportsService = require('../services/weeklyReportsService'); const weeklyReportsController = async (req, res) => { try { const data = await weeklyReportsService; res.json({data}) console...

How to show number of registered users in Laravel based on usertype?

i'm trying to display data from the database in the admin dashboard i used this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count(); echo $users; ?> and i have successfully get the correct data from the database but what if i want to display a specific data for example in this user table there is "usertype" that specify if the user is normal user or admin i want to user the same code above but to display a specific usertype i tried this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count()->WHERE usertype =admin; echo $users; ?> but it didn't work, what am i doing wrong? source https://stackoverflow.com/questions/68199726/how-to-show-number-of-registered-users-in-laravel-based-on-usertype

ValueError: X has 10 features, but LinearRegression is expecting 1 features as input

So, I am trying to predict the model but its throwing error like it has 10 features but it expacts only 1. So I am confused can anyone help me with it? more importantly its not working for me when my friend runs it. It works perfectly fine dose anyone know the reason about it? cv = KFold(n_splits = 10) all_loss = [] for i in range(9): # 1st for loop over polynomial orders poly_order = i X_train = make_polynomial(x, poly_order) loss_at_order = [] # initiate a set to collect loss for CV for train_index, test_index in cv.split(X_train): print('TRAIN:', train_index, 'TEST:', test_index) X_train_cv, X_test_cv = X_train[train_index], X_test[test_index] t_train_cv, t_test_cv = t[train_index], t[test_index] reg.fit(X_train_cv, t_train_cv) loss_at_order.append(np.mean((t_test_cv - reg.predict(X_test_cv))**2)) # collect loss at fold all_loss.append(np.mean(loss_at_order)) # collect loss at order plt.plot(np.log(al...