从最简单的一个node服务器开始说起
nodejs最常用的就是搭建服务器,今天就从0开始搭建自己的服务器,要想使用node来进行搭建服务器首先肯定是得下载node,直接百度一下node,从官网下载。下载完成后,直接安装软件就可以了。
这样就可以愉快的撸我们的服务器了。
我们创建一个文件叫server.js
<!--引入http模块-->
var http = require('http')
<!--创建http服务,服务中会有一个回调函数,request(请求)、response(返回值)-->
var server = http.createServer(function(request,response){
// 返回给前端的数据
response.write('hello nodejs')
response.end(null)
})
<!--监听http服务的端口号-->
server.listen('80',function(){
console.log('服务在80端口启动')
})
复制代码
其实这样就可以创建一个简单的服务器了。可以打开cmd,进入到你的项目目录,输入node server.js这个时候大家可以看到服务在80端口启动字样了。
但是这样简单的服务器是不能满足我们的需求的
当前台通过form表单给我们传递数据的时候,我们的node服务器是怎么接受到参数的呢。
我创建一个简单的form.html作为前端代码,来实现一个简单的登陆效果。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="http://localhost/login" method="GET">
用户:<input type="text" name="user"><br>
密码:<input type="password" name="pass"><br>
<input type="submit" value="登陆">
</form>
</body>
</html>
复制代码
创建一个server.js
<!--引入http模块-->
var http = require('http')
var url = require('url') // 引入url模块,处理前端传递过来的参数
<!--创建一个node服务(为了方便,这里把request、response简写成req、res当然这样是支持的)-->
var server = http.createServer(function(req,res){
<!--前端传递的参数通过req给node服务器-->
console.log(req) //req包含了前端给我们的很多的参数,可以打印出来看一下。
<!--但我们要的参数是通过get传递过来的url-->
var urlobj = url.parse(req.url)
var query = urlobj.query
console.log(query) // 得到就是form传递过来的数据
})
server.listen('80',function(){
console.log('服务在80端口启动')
})
复制代码
user=cbq123456&pass123456
我们后端可以得到这样的数据
复制代码
这样我们就可以轻松拿到前端给我们的数据了
如何把处理前端给我们的数据呢
我们想把这个字符变成json数据格式,刚好可以使用node为我们提供的querystring方法
var urlObj = url.parse(request.url, true) // 只需要在添加一个true,就可以
var query = urlObj.query // 得到的结果就是{ user: 'abc', pass: '123456' }
复制代码
以上就是关于node服务器的最基础的知识点,如果有什么写的不好的地方,欢迎各位大大吐槽。