【问题标题】:pass variable through XMLHttpRequest通过 XMLHttpRequest 传递变量
【发布时间】:2014-12-25 05:31:42
【问题描述】:

如何使用 GET 将变量传递到服务器端? 以及如何使用它?

我想将参数“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);
   }

服务器节点.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]

【问题讨论】:

    标签: javascript node.js xml-parsing


    【解决方案1】:

    首先,你为什么要向服务器传递一个空参数“bar”? 我认为 bar 应该具有更有意义的价值。

    所以在你的客户端代码中,试试:

    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 的更多信息,我很确定您会在开始旅程时解决这些问题。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-11
      • 2011-10-19
      • 2015-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多