【问题标题】:http server-side node.js datahttp服务器端node.js数据
【发布时间】:2014-10-06 20:38:54
【问题描述】:

我有一个使用 jQuery 的 html 页面。

我想向节点服务器发送请求,但我不知道如何响应不同的请求,换句话说,如何区分 get\pos​​t 请求以及如何读取请求正文(取消用户想要的内容)和响应根据它。

var http = require("http");

function serve(request, response)
{
    response.writeHead(200, {"Content-Type": "text/plain"});
}

http.createServer(serve).listen(3001);

在客户端,同样的问题 - 如何发送数据?

Window.onload = function () {

    Document.getElementById('GoButton').click = function() {
        var xhr = new XHRObject();
        xhr.open("get","http://127.0.0.1:1337",true);

        xhr.onreadystatechange= function()
        {
        if (xhr.readyState == 4 && xhr.status == 200) 
        {
            document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
        }
        };
        request.send(null);

    };

};

最后一件事:所有这些请求和响应都应该使用 json。

【问题讨论】:

  • 我认为,您应该考虑使用一些网络框架,例如exptess, koa, etc.
  • 这有什么帮助?

标签: javascript html json node.js http


【解决方案1】:

要决定您需要在回复消息中添加什么内容,您需要检查您的request 属性。快速浏览一下 api 文档,您可以看到 requestIncomingMessage 的一个实例,并且它有一个名为 method 的属性。

如果你想回复所有POST请求的特定内容,你应该检查request.method === 'POST'

无论哪种方式,您显然都是 node 的新手,在这种情况下,您可能应该多读一点。 http://nodebeginner.org 是一个很好的起点。

【讨论】:

  • 嗯,这完全取决于您要发送的具体内容。一般来说,假设你有一个 javascript 对象var foo,你会想要按照以下方式做一些事情:request.send(JSON.stringify(foo));
猜你喜欢
  • 1970-01-01
  • 2016-05-21
  • 2015-09-29
  • 1970-01-01
  • 2022-01-13
  • 2014-11-13
  • 2012-09-26
  • 2020-04-02
  • 1970-01-01
相关资源
最近更新 更多