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

时间:2016-08-24 16:50:27

标签: javascript json node.js routing

我是网络应用程序的新手,目前我正试图绕过从客户端到服务器端并返回的路由。我遇到了一个问题,我在客户端做了xmlhttprequest,得到了一个正在运行的json。但是现在我没有在本地运行,没有一个GETS正在运作。所以我想我必须做到路由到服务器端,做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();
}

我想我也没有做正确的路由。

1 个答案:

答案 0 :(得分:1)

这里的预期流量是多少?客户 - &gt;你的服务器@ thankyou.html / something - &gt;一些其他服务器URL(你已审查的那个) - &gt;回复您的服务器 - &gt;回复客户 - &gt;客户端使用响应显示表?

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

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