2014-11-08 12 views
5

Im wysyłających jakiś tekst z pola tekstowego do node.js Server Express przez XMLHttpRequest:dane dostępowe wysłać zamówienie XHR w 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); 

Moje pytanie brzmi, jak uzyskać do niego dostęp w moim serwerze:

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

Łańcuch pojawia się jako ładunek żądania i nie chcę używać jQuery.

Odpowiedz

-2

Można odczytać treści żądania poprzez req.body:

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

Ze względu na to, jak bodyParser akceptuje ciało życzenie, trzeba ustawić żądanie nagłówka „Content-Type” na „application/json” dla twoja prośba o poprawną pracę. Jest to bardzo łatwe do wykonania; prosty routery będą proste.

+0

myślę, że popełnił drobny błąd: zamiast 'xmlhttp.setRequestHeader ('Content-Type', 'application.json')' powinno być 'xmlhttp.setRequestHeader ('Content-Type'," application/json ")" –