2014-10-29 152 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的更多信息,我相信您将解决您在旅程开始时会遇到的这些问题。

希望它有帮助。