关于node.js中的get和post请求
如有错误的地方,望指正
- GET请求
var http = require('http')
var server = http.createServer()
//启用node的url核心模块
var url = require('url')
//当客户端发送请求时,获取他的请求地址
server.on('request',function (request,response) {
var obj = {}//存储接收的数据
//解析url
var data = url.parse('.'+request.url,true)//js中用/,node中用./,所以这里加‘点’
//解析的结果data,就是下面的url对象。我们需要的就是里面的query。
var obj.name = data.query.name
var obj.age = data.query.age
//这样我们就获得了url中的信息
})
server.linter(3000,function () {
console.log('服务器启动')
})
/*Url {
protocol: null,
slashes: null,
auth: null,
host: null,
port: null,
hostname: null,
hash: null,
search: '?name=%E5%B0%8F%E9%AB%98&age=20',
query: [Object: null prototype] { name: '小高', age: '20' },
pathname: './getdata',
path: './getdata?name=%E5%B0%8F%E9%AB%98&age=20',
href: './getdata?name=%E5%B0%8F%E9%AB%98&age=20' }
- POST请求
由于post请求的数据不在地址栏,所以上面的方式就不能使用了
//启用node中的querystring核心模块
var http = requier('http')
var server = http.createServer()
var querystring = requier('querystring')
server.on('request',function (request,response) {
ver data = ''//用来存储请求的数据
//接收数据
request.on('data',function (block) {
data += block//存储数据到data
})
//接收数据结束,开始处理数据
request.on('end',function () {
data = decodeURI(data)//转码
var obj = querystring.parse(data)//将转码后的data,根据&和=转换为数组
})
})
2019年1月1日
感悟来源:地址