【问题标题】:Can't get response from Node.js无法从 Node.js 获得响应
【发布时间】:2016-10-24 22:51:24
【问题描述】:

我正在尝试使用 JavaScript(客户端)和 Node.js(服务器端)计算 BMI。

如果我调用节点 URL 并传递参数,我会得到响应, 但是如果我用xhr 调用节点URL,我不会得到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();
}

【问题讨论】:

    标签: javascript ajax node.js xmlhttprequest


    【解决方案1】:

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

    【讨论】:

    • 我尝试了大量的免费端口。你编辑js请求,怎么样?
    • 确保您的变量已设置:xhr.open("GET", "http://localhost:8080/bmi?name="+name+"&height="+height+"&weight="+weight, true); xhr.send();
    • 我使用 Comodo Internetsecurity,我是否需要为 Node.js 设置一些防火墙选项?
    • 端口 80 应该允许,节点是否在同一台计算机上运行?
    • 是的同一台计算机,我在控制台上记录输出,但我没有得到 rosponseTest
    【解决方案2】:
    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();
    });
    

    这个标题解决了我的问题 =)

    【讨论】:

      猜你喜欢
      • 2020-08-25
      • 2021-07-18
      • 2018-02-20
      • 2020-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多