2017-07-31 47 views
0

我想在節點函數參數中使用select參數,但我不知道該怎麼做。如何在server.js中使用select參數

<script type="text/javascript"> 
    function action(selectObject) { 
    var periode=selectObject.value; 
    } 
    </script> 

    <select id="list" onchange="action(this);"> 
    <option>Selectionnez la periode </option> 
    <option value ="5">5</option> 
    <option value="30">30</option> 
    <option value="3">3</option> 
    </select> 

之後,我需要利用這段時間作爲參數在我的演算功能

var date=new Date("2017-07-26T00:00:00Z");  
    var period; 
    app.get('/calcule', function(req, res){ 
    calcul.calcule(date,period,function(calcule){ 
var datas= calcule; 

    res.render('index1.ejs',{datas:datas}); 

    }); 

    }); 

我不爲什麼,只與defaut值正常工作(5)。當我選擇了另一種選擇它不工作。 它有可能或沒有? 謝謝

回答

0

如果您在服務器端使用express framework,則可以將periode的值作爲query string variable添加到服務器。 在客戶方

<script type="text/javascript"> 
    function action(selectObject) { 
    var periode=selectObject.value; 
    window.location = '/calcule?period=' + periode; 
    console.log(periode); // F12 chrome to view this value 
    } 
</script> 

在服務器端

app.get('/calcule', function(req, res){ 
    // get data from querystring 
    console.log(req.query); // object query 
    period = req.query.period ? req.query.period : 5; // default req.query.period is 5 
    console.log(period); 
    // validate period 
    // recheck calcule function because you set `date and period` varables is global 
    calcul.calcule(date,period,function(calcule){ 
    var datas= calcule; 

    res.render('index1.ejs',{datas:datas}); 

}); 
+0

是它的工作原理。非常感謝。 –

+0

請再提一個問題。你不知道爲什麼使用nodejs的時候,我從選項中選擇了一段時間,它只在第一次工作。之後,我需要重新運行服務器來選擇其他時間? –

+0

@SirineAbed您可以調試以確定客戶端或服務器端的錯誤。我更新了我的安裝程序以顯示更多日誌,可能會幫助您進行調試。在瀏覽器中檢查URL中的值,確保它像'http:// localhost/calcule?period = 30'。 – hoangdv

相關問題