无法从Node.js获得响应

时间:2016-06-22 20:16:13

标签: javascript ajax node.js xmlhttprequest

我正在尝试使用JavaScript(Clienside)和Node.js(Serverside)计算BMI。

如果我调用节点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();
}

2 个答案:

答案 0 :(得分:0)

嗯,你确定你的localhost:80没用过吗? 我已经尝试过8080并且它可以工作(我编辑js请求)

答案 1 :(得分:0)

SELECT DISTINCT a FROM Table

此标题修复了我的问题=)