2017-07-11 210 views
0

我有一個問題,我試圖讀取GET請求到這個Web服務器,但它沒有讀取它!當用戶請求到達時,它應在10秒後輸出。請有人幫助我嗎? 程序算法是處理GET請求並在Node.JS控制檯中輸出它。無法讀取GET請求

var express  =  require("express"); 
    var app   =  express(); 
    var bssid; 
    app.get('handle',function(request,response){ 
     bssid=request.bssid; 
     setTimeout(() => { console.log(`BSSID: ${bssid}`)}, 10000); 
    }); 



    const port = 9090 


    app.listen(port,() => { 
     console.log(`Server running at http://${port}/`); 

    }); 

回答

0

您試圖讀取輸入時丟失的請求對象的query財產。如果要從請求URL讀取GET參數(稱爲查詢字符串),則必須使用request.query對象,例如, request.query.bssid。請參閱相關快遞documentation

例子:

app.get('handle', function (request, response) { 
    bssid = request.query.bssid; 
    setTimeout(() => { console.log(`BSSID: ${bssid}`)}, 10000); 
}); 

此,當被稱爲localhost:3000/handle?bssid=1234,將記錄1234到服務器控制檯。

+0

它不會輸出來控制有關BSSID的任何內容。我的代碼:var express = require(「express」); var app = express(); var bssid; ((')=> {console.log('BSSID:$ {bssid}')},10000('handle',function(request,response){ set.get ); // return response.send('Done'); // return response }); const port = 3002 app.listen(port,()=> { console.log('Server running!'); }); –

+0

我在瀏覽器的輸出中有「無法GET /處理」。也許正因爲如此,它不工作? –

+0

哦,我發現如何解決它,我剛從手柄更改爲/和奇怪,但它的主要作品) –

0

您需要在您的response

試試返回是這樣的:

app.get('handle',function(request,response){ 
    bssid=request.bssid; 
    setTimeout(() => { 
     console.log(`BSSID: ${bssid}`); 
     return response.send('Done'); //return response 
     }, 10000); 
    });