背景:项目中需要vue通过http接口调用另一个用node写的系统,所以需要在node中写一个服务器
建立服务器监听8081端口,在浏览器上登录127.0.01:8081则可对服务端发送请求,服务端收到请求则返回hello nodejs的字符串
let server = http.createServer(function(request,response){
response.setHeader('Content-Type','text/plain');
response.end("hello nodejs");
}).listen(8081);
// request.url 获取url
// 若请求为http://127.0.0.1:8081/test?date=2018-10-29
let server = http.createServer(function(request,response){
console.log(request.url) // http://127.0.0.1:8081/test?date=2018-10-29
console.log(url.parse(req.url).query) // date=2018-10-29
console.log(querystring.parse(arg)) // { date: '2018-10-29' }
response.end("hello nodejs")
}).listen(8081);
// 客户端获取到的响应
{
data:'hello nodejs',
status:'200', // 状态码
header: {}, // 响应头
statusText:'OK'
}
在response中,我们可以发送数据给客户端,也可以在数据传输完成后结束该连接
// 设置请求头
response.writeHead(statusCode[, statusMessage][, headers])
// 跨域
res.setHeader('Access-Control-Allow-Origin', "*")
res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
// 写入数据 数据得为string或buffer
response.write(chunk[, encoding][, callback])
// 结束该连接 若指定了data相当于发送了response.write()再发送response.end()
response.end([data][, encoding][, callback])