【问题标题】:Access data send by xhr request in node.js访问node.js中xhr请求发送的数据
【发布时间】:2015-01-05 07:53:08
【问题描述】:

我正在通过 XMLHttpRequest 从文本框向 node.js express 服务器发送一些文本:

var text = document.getElementById("textBox").value;
    console.log(text);
    var xmlhttp;
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
    else
    {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 || xmlhttp.status==200)
        {
        document.getElementById("textBox").value =xmlhttp.responseText;
        }
    }
    xmlhttp.open("POST","http://127.0.0.1:3000/",true);
    xmlhttp.send(text);

我的问题是如何在我的服务器中访问它:

var http = require("http");
var url = require("url");
var qs = require('querystring');
var path = require('path');
var bodyParser = require('body-parser');
var express = require('express');

var app = express();
// start endle req\res
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.post('/', function(req,res){
    console.log("request method :" + req.method);
    res.end("OK");
});

// listen at local host:3000
var server = app.listen(3000, function() {
    console.log('Listening on port %d', server.address().port);
});

字符串显示为请求负载,我不想使用 jQuery。

【问题讨论】:

    标签: javascript html node.js express xmlhttprequest


    【解决方案1】:

    您可以通过req.body阅读请求正文:

    app.post('/', function(req,res){
      console.log("request method :" + req.method);
      console.log("request body :" + req.body);
      res.end("OK");
    });
    

    【讨论】:

      【解决方案2】:

      由于 bodyParser 接受请求正文的方式,您必须将请求标头“Content-Type”设置为“application/json”才能使请求正常工作。这很容易实现;一个简单的 xmlhttp.setRequestHeader('Content-Type', 'application/json') 会成功的。

      【讨论】:

      • 我认为你犯了一个小错误:应该是xmlhttp.setRequestHeader('Content-Type', 'application.json') 而不是xmlhttp.setRequestHeader('Content-Type','application/json')
      猜你喜欢
      • 2012-03-09
      • 2016-04-03
      • 2013-05-04
      • 2020-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多