簡體   English   中英

訪問由node.js中的xhr請求發送的數據

[英]Access data send by xhr request in node.js

我通過XMLHttpRequest從文本框向node.js表達服務器發送一些文本:

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。

由於bodyParser接受請求的主體,您必須將請求標頭“Content-Type”設置為“application / json”,以使您的請求正常工作。 這很容易實現; 一個簡單的xmlhttp.setRequestHeader('Content-Type', 'application/json')就可以了。

您可以通過req.body閱讀請求正文:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM