Не могу получить ответ от Node.js

0

Я пытаюсь вычислить BMI с помощью JavaScript (Clienside) и Node.js(Serverside).

Если я вызываю URL-адрес узла и передаю параметры, я получаю ответ, но если я вызываю URL-адрес узла с xhr я не получаю responseText.

Я получаю код состояния 200, но не responseText.

В чем проблема? Спасибо за вашу помощь!

Node.js

var express = require('express');
var bodyParser = require('body-parser');
var app = express();

app.get('/bmi', function(req, res){
    var bmi = req.query.weight / (req.query.height * req.query.height);
    var msg = 'Hallo '+req.query.name+', deine BMI ist ' + bmi;
    res.send(msg);
    console.log(msg);
}).listen(80);

Javascript

function bmi(){
    var response;
    var name = document.getElementById("name-input").value;
    var weight = document.getElementById("weight-input").value;
    var height = document.getElementById("height-input").value;

    var xhr = new XMLHttpRequest();

    xhr.onreadystatechange = function(){
        //console.log(xhr.readyState);
        if(xhr.readyState === 4 && xhr.status === 200){
            response = xhr.responseText;
            document.getElementById("response").innerText = response;
        }
        //console.log(xhr.responseText);
    };

    xhr.open("GET", "http://localhost/bmi?name="+name+"&height="+height+"&weight="+weight, true);
    xhr.send();
}
Теги:
xmlhttprequest

2 ответа

0
Лучший ответ
app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});

Этот заголовок исправил мою проблему =)

0

Ну, вы уверены, что ваш localhost: 80 не используется? Я пробовал с 8080, и он работает (я также редактирую запрос js)

  • 0
    Я перепробовал тонны бесплатных портов. Вы редактируете JS-запрос, как?
  • 0
    Убедитесь, что ваши переменные установлены: xhr.open("GET", "http://localhost:8080/bmi?name="+name+"&height="+height+"&weight="+weight, true); xhr.send();
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню