今天我们通过Node创建一个简单的本地Web服务器,响应本地请求。
一、创建文件
1、创建node文件,响应前端ajax请求,并返回结果由ajax的success回调函数接受返回值。代码如下:
service.js
//http变量保存实例化的HTTP
var http = require('http');
//使用createServer方法创建服务器
//req参数: 接收数据
//resp参数: 响应数据
http.createServer(function(req, resp){
let postData = '';
req.setEncoding('UTF-8');
//发送HTTP头部
//HPPT状态值: 200 : OK
//内容类型: text/plain
resp.writeHead(200,{
'Content-Type': 'text/plain',
//为解决ajax请求本地服务器的跨域问题,实际项目中不建议使用
'Access-Control-Allow-origin': '*'
});
req.on('data', function(chunk){
console.log('chunk', chunk);
postData += chunk;
});
req.on('end', function(){
//发送响应数据
console.log('responce', postData);
resp.end('responce' + postData);
});
}).listen(8888) //监听端口
console.log('Server running at http://127.0.0.1:8888/');
2、创建index.html文件。前端通过ajax向本地服务器发起请求,并从success配置的回调函数接收服务器的返回值。代码如下
<html>
<script src='http://apps.bdimg.com/libs/jquery/1.6.4/jquery.min.js'></script>
<script>
$.ajax({
url: 'http://0.0.0.0:8888',
type: 'POST',
data: {"name":"Kwan"},
success: function(resp){
console.log('resp', resp);
},
error: function(error){
console.log('error', error);
}
})
</script>
</html>
二、启动服务起等待请求
此时代码已准备完毕,接下来需要在终端启动node服务,执行service.js文件来创建本地服务器响应请求。
(1)在终端通过cd命令,定位到service.js所在目录
(2)执行以下命令,执行node代码,启动本地服务器
node service
此时终端输出如下,表示服务器启动成功:
三、发送请求
有两种方式请求刚刚完成的node服务
1、双击html文件,在浏览器打开index.html本地文件
打开控制台,如果在控制台看到以下内容输出,说明成功拿到服务器的返回值
此时,终端打印出请求字段如下:
2、通过浏览器访问http://127.0.0.1:8888
终端输出如下:
浏览器显示如下: