2014-10-29 151 views
0

如何通過使用GET將變量傳遞給服務器端? 以及如何使用它?通過XMLHttpRequest傳遞變量

我想發送params「bar」到服務器端並在函數中使用它,但我不知道如何在服務器端訪問它,任何指針?

的JavaScript

function update(){ 
    var params = "bar"; 
    var req = new XMLHttpRequest(); 
    req.open("GET","/results"+"?"+params); 
    req.onreadystatechange = function(foo){ 
     if(req.readyState == 4){ 
       document.getElementById("content").innerHTML = req.responseText; 
      } 
     } 
    req.send(null); 
    } 

服務器的Node.js

app.get("/results",function(req,res){ 
    console.log(req + req.params +req.body) 
    getResults(function(results, req){  
     res.writeHead(200,"OK",{"Content-Type":"text/html"}); 
     res.end(results); 
    }); 
}); 

控制檯

[object Object][object Object][object Object] 

回答

0

首先,爲什麼你想爲一個空參數 「欄中的」 傳遞給服務器? 我相信酒吧應該帶有更多價值。

因此,在您的客戶端代碼,請嘗試:

function update() { 
    var params = "bar=foo"; 
    var req = new XMLHttpRequest(); 

    req.open("GET","/results?"+params); 
    req.onreadystatechange = function (foo) { 
     if (req.readyState == 4){ 
       document.getElementById("content").innerHTML = req.responseText; 
     } 
    } 
    req.send(null); 
} 

而在服務器端,假設你使用express.js(似乎如此),你可以簡單地說:

app.get("/results", function (req, res) { 
    console.log(req.param("bar")); 

    res.send(req.param("bar")); 
}); 

現在,您將在您的node.js控制檯以及HTML頁面的「內容」項目中獲得「foo」。

嘗試在他們的官方指南和API文檔http://expressjs.com/4x/api.html中閱讀有關express.js的更多信息,我相信您將解決您在旅程開始時會遇到的這些問題。

希望它有幫助。