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请求的几种方式小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。