Nodejs - POST请求的响应未定义

时间:2017-01-10 11:38:17

标签: javascript node.js post http-post

我正在学习nodejs,并建立了一个简单的网站来学习处理POST请求。

这是我的代码:

浏览器侧:

function sendRequest (params) {
  var xhr = new XMLHttpRequest();
  var url = 'result';
  xhr.open("POST",url,true);

  xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

  xhr.onreadystatechange = function () {
    console.log('onreadystatechange');
    if(xhr.readyState == 4 && xhr.status == 200){
      console.log('Response text:' + xhr.reponseText);
    }
  }

  xhr.send(params);
}

服务器端:

else if (req.url === '/result') {
    req.on('data', function (data) {
        var params = data.toString().split('&');
        var result = calc(params);
        console.log(result.toString());
        res.writeHead(200,{'Content-Type':'text/plain'});
        res.write('<div>'+result.toString()+'</div>');
        res.end();
        console.log('Response over');
    });
  }

当我运行此操作时,xhr.responseTextundefined,并且我无法理解错误的位置。

根据日志,节点获取请求,结果正确,xhr.onreadystatechange也运行(但xhr.responseText未定义)。

1 个答案:

答案 0 :(得分:1)

浏览器端代码中存在输入错误。你拼错了responseText

console.log('Response text:' + xhr.responseText);