2015-09-03 32 views
0

我想從客戶端向我的服務器發送jsonstring。我很確定我發送了它,但我似乎無法弄清楚如何在服務器端讀取它。變量'sendJSONString'是我試圖發送的內容。我見過很多例子,其中的數據是在URL中發送然後解壓縮的。但我寧願不這樣做。在Express NodeJS服務器上接收並讀取JsonString

在客戶端我有這樣的代碼:

module.exports = function sendAuthToServer(retVal, _userName, _AUTHKey){ 
var sendJSONString = JSON.stringify({userName:_userName, AUTHKey:_AUTHKey}); 
var gotData = []; 
var xhr = new XMLHttpRequest(); 
xhr.open('GET', encodeURI('/AUTH')); 
xhr.onload = function() { 
    if (xhr.status === 200) { 
     gotData = JSON.parse(xhr.responseText); 
    retVal(gotData); 
    } 
    else { 
     alert('Request failed. Returned status of ' + xhr.status); 
    } 
}; 
xhr.send(sendJSONString); 
} 

在服務器端我有這個。

module.exports = function giveQueryList(app){ 
app.get('/AUTH', function(req, res) { 

    res.json('ServerResponse'); 
    console.log(req.ip, req); 
}); 
} 

應用程序使用的快遞和建立這樣

//CONFIG ROUTER/SERVER 
app.set('view engine', 'ejs'); 
app.set('views', path.join(__dirname, 'views'));//MAKE CONTENT IN VIEWS  FOLDER AVAILABLE TO CLIENT 
app.set('port', process.env.PORT || 8888); 
//USE MIDDLEWARE 
app.use(express.static(path.join(__dirname, 'views')));  

回答

1

你用GET HTTP動詞發送數據。嘗試將其更改爲POST或PUT(您需要相應地調整您的快速路線)。

如果尚未完成,則應使用body-parser這樣的中間件來解析客戶端發送的信息。然後,您可以訪問req.body對象上客戶發佈/輸入的信息。

+0

坦克漿果很多! :) – WouldBeNerd

相關問題