node.js创建服务,发送请求后返回数据

Posted 山石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js创建服务,发送请求后返回数据相关的知识,希望对你有一定的参考价值。

1.引入http模块

var http = require(\'http\');

2.创建服务

var server = http.createServer();

3.绑定request事件

server.on(\'request\',function(req,res){
    // req.url 是访问的地址
    if(req.url === \'/login\'){
        // req.write()在页面上返回数据
        res.write(\'login\')
        // 返回数据后使用end,不然不能返回数据
        res.end()
    }else{
        res.write(\'no login\')
        res.end()
    }
})

4.监听端口

server.listen(3000,function(){
    console.log(\'启动成功,可通过http://localhost:3000 访问\');
})

 

在浏览器输入:http://localhost:3000/login

页面上显示内容

 

返回内容也可以直接这么写,直接返回end里面的内容

 if(req.url === \'/login\'){
        res.end(\'is login\') // 调用end方法并返回内容
    }

 需要注意的问题:

res.end() 只能返回字符串或者二进制数据

 if(req.url === \'/person\'){
        var person = [
            {name:\'zs\',age:12},
            {name:\'ls\',age:13},
        ]
        // res.end()只能传入字符串或者二进制数据, 不能传入数字,布尔值,所以需要调用下JSON.stringify()
        res.end(JSON.stringify(person)) // 直接返回内容并调用end方法
    }

 

 

 完整代码:

// 引入http模块
var http = require(\'http\');
// 创建服务 createServer()
var server = http.createServer();
// on绑定request事件
server.on(\'request\',function(req,res){
    // req.url 是访问的地址
    if(req.url === \'/login\'){
        // req.write()在页面上返回数据
        res.write(\'login\')
        // 返回数据后使用end,不然不能返回数据
        res.end()
    }else{
        res.write(\'no login\')
        res.end()
    }
})
// 监听端口
server.listen(3000,function(){
    console.log(\'启动成功,可通过http://localhost:3000 访问\');
})

 

以上是关于node.js创建服务,发送请求后返回数据的主要内容,如果未能解决你的问题,请参考以下文章

node.js HTTP模块URL 模块

上周总结

如何将 JQuery AJAX 请求中的数据发送到 Node.js 服务器

通过 POST 请求将数据从 node.js 服务器发送到 node.js 服务器

通过 POST 请求将数据从 node.js 服务器发送到 node.js 服务器

Node.js学习03:web开发的本质