理解从客户端(javascript)到服务器端(node.js)的路由

Understanding routing from client side (javascript) to server side (node.js)

本文关键字:node js 路由 服务器端 客户端 javascript      更新时间:2023-09-26

我是web应用程序的新手,目前我正试图将我的头从客户端路由到服务器端并返回。我遇到了一个问题,我正在做xmlhttprequest在我的客户端得到一个json,这是工作。但是现在我不在本地运行,没有一个get工作。所以我想我必须做路由到服务器端,做request()来获取json,我可以。

但是现在我不明白的是如何将json传递回客户端以使用那里的函数,因为我所有使用这个json的函数都在那里。这可能吗?还是我现在必须在服务器端完成所有工作?

服务器端

server.get('thankyou.html/something', function(req, res) {
    var options = {
        url: 'https://**.***.**.**:****/****/*******/',
        rejectUnauthorized: false,   
        method: 'GET'
    };
    request(options, function (error, response, body) {
        if (error) console.log(error);
        else displaytable(body);//<------- clientside funtion
    });
});
客户端

var uri = 'thankyou.html/something';
function addTable() {
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4 && (xhr.status == 201 || xhr.status == 200)) {
           // var json = JSON.parse(xhr.responseText);
            displaytable(json);
        }
    };
    xhr.open("GET", uri, true);
    xhr.send();
}

我想我也没有把路由做对。

这里的预期流程是什么?客户端->你的服务器@ thankyou.html/something ->一些其他服务器url(你已经审查)->响应回你的服务器->响应回客户端->客户端使用响应显示表?

无论哪种方式,你都不能从服务器调用客户端函数。反正不是那样的。您需要使用类似res.json(body)的东西返回body(您使用的是什么路由/服务器库?),然后解析xhr.responseText,就像您注释掉的行一样。然后,您将在客户端上拥有json,并可以按预期继续。

确保如果您的request调用返回一个错误,您也将错误传递给客户端,否则它将挂起直到超时。