Node编写服务器
基于原生的http模块开发本地服务器
//(1)使用原生的HTTP开发服务器 const http = require('http') //处理get请求 var server = http.createServer((req,res)=>{ res.writeHead(200,{'Content-Type':'text/plain;charset=utf-8'}) res.write('hello world') res.end() }) //监听端口 server.listen(3000)
//(2)处理post //处理post事件 const http = require('http') const qs = require('querystring') var postHtml = ` <html> <head> <meta charset="utf-8"> <title>POST</title> </head> <body> <form method="post"> <label>用户</label><input name="uname"/> <label>密码</label><input name="upwd" type="password"/> <br> <input type="submit"/> </form> </body> </html> ` var server = http.createServer((req,res)=>{ var body = "" //处理post方式请求 req.on('data',(data)=>{ body += data }) req.on('end',()=>{ body = qs.parse(body) res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'}) if(body.uname&&body.upwd){ res.write(body.uname) res.write('<br>') res.write(body.upwd) }else{ res.write(postHtml) } res.end() }) }) //console.log(server) server.listen(3000)
Node编写ajax请求接口
基于express第三方模块开发
//第三方模块构建特别方便 //文件名:main.js const express = require('express') const bodyParser = require('body-parser') var app = express() app.use(bodyParser.urlencoded({extended:false})) //处理get方式请求 app.get('/',(req,res)=>{ res.send('hello world') }) //处理post方式请求 app.post('/login',(req,res)=>{ var uname = req.body.uname var upwd = req.body.upwd res.send({code:1,msg:"success"}) }) app.listen(3000)
解释:上面的本地服务器是基于express框架写的,首先必须引入第三方模块。
引入步骤:
- $ npm i express($是指当前脚本文件所在的目录);
然后就可以使用该模块啦,首先解释get方式请求
get方式请求用许多方式比如:
- form表单
- ajax方式
- 地址栏直接输入
post方式请求
- ajax方式请求;
- form表单请求。这里在post方式请求如果有参数的话,还需要引入body-parser模块,用来解析req.body中的参数(至于怎样传参我这就不说啦)。
- 比较:res.send()方法与res.write()方法res.write():res.writeHead(200{“Content-Type”:”text/plain;charset=utf-8″});res.write(‘hello world’);res.end();res.send():一步res.send()相当于上面的三步
备注:通常路由接口是放在单独的文件中然后在引入的,我这里直接将接口写在里面啦,浏览器默认是get方式请求;所谓的接口其实就是路径:上诉代码的运行流程如下:当前目录下 打开控制台:输入node main 然后在浏览器输入:
http:127.0.0.1:3000 就会打印出 “hello world”。上面还有一个接口”/login”这个接口只能以post方式请求,才会响应数据,所
http:127.0.0.1:3000/login是没有反应的
Python编写服务器
#使用HTTPServer构建服务器(python版本3.71)
#直接输入命令:py -m http.server 8080