nodejs之get/post请求的几种方式小结
最近一段时间在学习前端向服务器发送数据和请求数据,下面总结了一下向服务器发送请求用get和post的几种不同请求方式:
1.用form表单的方法:
(1)get方法
前端代码:
账号:
密码:
服务器代码:
用get方法首先要配置json文件,在command中输入命令npm-init,然后要安装所需要的express模块,还需要在文件夹里面创建一个放置静态资源的文件夹(wwwroot),然后代码如下:
varexpress=require('express');//引入模块
varweb=express();//使用模块创建一个web应用
web.use(express.static('wwwroot'));//调用use方法使用static方法
web.get('/login',function(request,response)
{
使用get方法参数1接口参数2回调函数(参数1向服务器发送的请求参数2服务器返回的数据)
varname=request.query.username;//获取前端发送过来的账号
varpsw=request.query.password;//获取前端发送过来的密码
response.status('200').send('输入的内容是'+name+'
'+psw);
})
web.listen('8080',function()//监听8080端口启动服务器
{
console.log('服务器启动中');
})
(2)post方法
前端:用post方法需要将form里面的method=GET改成mthod=POST,表示使用post方法;
服务器:除get方法的要求外,还需要引入body-parser模块,以及对url进行编码;
varexpress=require('express');
varbodyParser=require('body-parser');
varweb=express();
web.use(express.static('wwwroot'));
//url统一资源调配符encoded编码
web.use(bodyParser.urlencoded({extended:false}));
web.post('/login',function(request,response)
{
varname=request.body.username;
varpsw=request.body.password;
if(name!='599115316@qq.com'||psw!='123456')
{
response.send('登录失败')
}
else
{
response.send('登陆成功')
}
})
web.listen('8080',function()
{
console.log('服务器启动中');
})
2.xhr(XMLHTTPRequest方法有三种请求方式get/post/formdata)
XHR是ajax的核心,使用XHR可以向服务器发送数据也可以解析服务器返回的数据;
(1)xhr之get方法:
前端:
get方法
服务器:
首先也需要安装所用到的模块,然后请求模块使用;
varexpress=require('expres');
varapp=express();
app.use(express.static('wwwroot'));
app.get('/comment',function(request,response)
{
response.send('已经接受到用get方法发来的评价');
})
app.listen('3000',function()
{
console.log('服务器启动中');
})
(2)xhr之post方法:
前端:
post方法
服务器:
需要引入post方法所用到的模块(body-parser模块)以及对url编码;
varexpress=require('express');
varbodyParser=require('body-parser');
varapp=express();
app.use(express.static('wwwroot'));
app.use(bodyParser.urlencoded({extended:false}));
app.post('/comment',function(request,response)
{
response.send('已经接收到用post方法发送来的评价');
})
app.listen('3000',function()
{
console.log('服务器启动中');
})
(3)xhr之formdata方法:
前端:
formdata方法
服务器:
varexpress=require('express');
varbodyParser=require('body-parser');
varmulter=require('multer');//使用form表单所需要用到的一个模块
varformData=multer();
varapp=express();
app.use(express.static('wwwroot'));
app.use(bodyParser.urlencoded({extended:false}));
//如果使用formdata提交的数据,必须在参数中使用array(),array()会先解析请求体当中的数据,再传输数据
app.post('/comment',formData.array(),function(request,response)
{
response.send('已经接收到用post方法发送来的评价');
})
app.listen('3000',function()
{
console.log('服务器启动中');
})
3.ajax请求:
一般情况下都不需要使用ajax请求使用ajax请求可以获取错误信息以及其它的一些指令,使用ajax需要引用jquery
(1)ajax之get:
前端:
ajax-get
服务器:
varexpress=require('express');
varapp=express();
app.use(express.static('wwwroot'));
app.get('/login',function()
{
if(request.query.name=='小明'&&request.query.password=='123456')
{
response.send('登录成功');
}
else
{
response.send('登录失败');
}
})
app.listen('8080',function()
{
console.log('服务器启动中');
})
(2)ajax之post:
前端:
ajax-post
服务器:
varexpress=require('express');
varbodyParser=require('body-parser');
varapp=express();
app.use(express.static('wwwroot'));
app.use(bodyParser.urlencoded({extended:false}));
app.listen('8080',function()
{
console.log('服务器启动中');
})
app.post('/login',function(request,response)
{
if(request.body.name=='小明'&&request.body.password==666)
{
response.send('登录成功');
}
else
{
response.send('登录失败');
}
})
(2)ajax之ajax:
前端:
ajax请求
服务器里面可以使用上面ajax的get和post方法的代码,ajax请求的方式通过type设置为get方式还是post方式。
以上这篇nodejs之get/post请求的几种方式小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。