笔记
----如何接收前台的数据请求
----前台向后台发送请求主要就是以下几种方式
form ajax jsonp
----后台不管前台怎么发送数据对后台来说都是一样的
----前台与后台通信都是通过http来通信的 前台<---http--->后台
----请求方式主要有两种方式 POST GET
区别 GET是跟随url一起发送的 POST没有
----GET数据解析成对象
1.自己切2.querystring模块----引入模块
使用: querystring.parse('user=111&pass=111') ---->解析成对象3.url模块----引入模块
使用: var json1=URL.parse('http://localhost:8888/login?user=111&pass=111',true);
获取url -----json1.pathname
获取参数 -----json1.query
----POST数据解析成对象 POST数据比GET大得多 数据都是多段发送的
POST的请求是分段发送
var post = {}
var postStr = '';
req.on('data', function (data) {
postStr += data;
});
req.on('end', function () {
post = querystring.parse(postStr);
console.log(post)
});
html结构
<!-- GET请求的 -->
<form action="http://localhost:8888/login" method="GET">
用户名:
<input type="text" name="user" id="">
密码:
<input type="password" name="pass" id="">
<input type="submit" name="" value="提交">
</form>
以下有三种方法去拿到请求的值,相对来说用url模块直接拿到值会方便些
1.自己转成对象的写法
const http = require('http');
var server = http.createServer(function (req, res) {
var get = {}; //get结构是{user:'',pass:''}
var urlpath = req.url;
if (urlpath.indexOf('?') != -1) {
// var urlpath='/login?user=111&pass=111';
var arr = urlpath.split('?');
var parmasArr = arr[1].split('&');
parmasArr.map(function (val, index) {
get[val.split('=')[0]] = val.split('=')[1]
})
} else {
}
console.log(get); //{ user: '111', pass: '111' }
res.end();
})
server.listen(8888);
2.引用querystring模块的写法
const http = require('http');
const querystring = require('querystring')
var server = http.createServer(function (req, res) {
var get = {}; //get结构是{user:'',pass:''}
var urlpath = req.url;
if (urlpath.indexOf('?') != -1) {
var arr = urlpath.split('?');
get=querystring.parse(arr[1]);
} else {
}
console.log(get); //{ user: '111', pass: '111' }
res.end();
})
server.listen(8888);
3.引用url模块的写法
const http = require('http');
const URL = require('url')
var server = http.createServer(function (req, res) {
var get = {}; //get结构是{user:'',pass:''}
var urlpath = req.url;
if (urlpath.indexOf('?') != -1) {
var Obj=URL.parse(urlpath,true) //true表示解析query
get = Obj.query
} else {
}
console.log(get); //{ user: '111', pass: '111' }
res.end();
})
server.listen(8888);