2016-06-22 5 views
0

JavaScript (Clienside) 및 Node.js (Serverside)로 BMI를 계산하려고합니다.Node.js에서 응답을받을 수 없습니다

노드 URL을 호출하고 매개 변수를 전달하면 이 표시되지만 노드 URL을 xhr으로 호출하면 responseText이 표시되지 않습니다.

상태 코드 200은 표시되지만 responseText은 표시되지 않습니다.

어디에 문제가 있습니까? 당신의 도움을 주셔서 감사합니다! (80) 사용되지 않습니다

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); 

자바 스크립트

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(); 
} 

답변

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

글쎄, 당신은 확실히 로컬 호스트는? 나는 8080과 함께 시도하고 그것은 (내가 JS 요청 aswell을 편집)이 헤더 내 문제를 해결

+0

작동합니다. 당신은 js 요청을 어떻게 편집합니까? –

+0

변수가 설정되어 있는지 확인하십시오 : 'xhr.open ("GET", "http : // localhost : 8080/bmi? name ="+ name + "& height ="+ height + "& weight ="+ weight, true) ; xhr.send(); ' –

+0

Comodo Internetsecurity를 ​​사용합니다. Node.js에 대한 방화벽 옵션을 일부 설정해야합니까? –

관련 문제