這篇文章給大家介紹nodejs中怎么實現(xiàn)get/post請求,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
成都創(chuàng)新互聯(lián)公司是專業(yè)的萊州網(wǎng)站建設(shè)公司,萊州接單;提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行萊州網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
1.用form表單的方法:
(1)get方法
前端代碼:
服務(wù)器代碼:
用get方法首先要配置json文件,在command中輸入命令npm-init ,然后要安裝所需要的express模塊,還需要在文件夾里面創(chuàng)建一個放置靜態(tài)資源的文件夾(wwwroot),然后代碼如下:
var express = require('express'); // 引入模塊 var web = express(); // 使用模塊創(chuàng)建一個web應(yīng)用 web.use(express.static('wwwroot')); // 調(diào)用use方法 使用static方法 web.get('/login',function(request,response) { 使用get方法 參數(shù)1 接口 參數(shù)2 回調(diào)函數(shù) (參數(shù)1 向服務(wù)器發(fā)送的請求 參數(shù)2 服務(wù)器返回的數(shù)據(jù)) var name = request.query.username; // 獲取前端發(fā)送過來的賬號 var psw = request.query.password; // 獲取前端發(fā)送過來的密碼 response.status('200').send('輸入的內(nèi)容是' + name + '
' + psw); }) web.listen('8080',function() // 監(jiān)聽8080端口 啟動服務(wù)器 { console.log('服務(wù)器啟動中'); })
(2)post方法
前端:用post方法需要將form里面的 method = GET 改成 mthod = POST,表示使用post方法;
服務(wù)器:除get方法的要求外,還需要引入 body-parser模塊,以及對url進行編碼;
var express = require('express'); var bodyParser = require('body-parser'); var web = express(); web.use(express.static('wwwroot')); // url 統(tǒng)一資源調(diào)配符 encoded 編碼 web.use(bodyParser.urlencoded({extended:false})); web.post('/login',function(request,response) { var name = request.body.username; var psw = request.body.password; if(name != '599115316@qq.com' || psw != '123456') { response.send('登錄失敗') } else { response.send('登陸成功') } }) web.listen('8080',function() { console.log('服務(wù)器啟動中'); })
2.xhr(XML HTTP Request方法 有三種請求方式 get/post/formdata)
XHR是ajax的核心,使用XHR可以向服務(wù)器發(fā)送數(shù)據(jù) 也可以解析服務(wù)器返回的數(shù)據(jù);
(1)xhr之get方法:
前端:
服務(wù)器:
首先也需要安裝所用到的模塊,然后請求模塊使用;
var express = require('expres'); var app = express(); app.use(express.static('wwwroot')); app.get('/comment',function(request,response) { response.send('已經(jīng)接受到用get方法發(fā)來的評價'); }) app.listen('3000',function() { console.log('服務(wù)器啟動中'); })
(2)xhr之post方法:
前端:
服務(wù)器:
需要引入post方法所用到的模塊(body-parser模塊)以及對url編碼;
var express = require('express'); var bodyParser = require('body-parser'); var app = express(); app.use(express.static('wwwroot')); app.use(bodyParser.urlencoded({extended:false})); app.post('/comment',function(request,response) { response.send('已經(jīng)接收到用post方法發(fā)送來的評價'); }) app.listen('3000',function() { console.log('服務(wù)器啟動中'); })
(3)xhr之formdata方法:
前端:
服務(wù)器:
var express = require('express'); var bodyParser = require('body-parser'); var multer = require('multer'); // 使用form表單所需要用到的一個模塊 var formData = multer(); var app = express(); app.use(express.static('wwwroot')); app.use(bodyParser.urlencoded({extended:false})); // 如果使用formdata提交的數(shù)據(jù),必須在參數(shù)中使用array(),array()會先解析請求體當中的數(shù)據(jù),再傳輸數(shù)據(jù) app.post('/comment',formData.array(),function(request,response) { response.send('已經(jīng)接收到用post方法發(fā)送來的評價'); }) app.listen('3000',function() { console.log('服務(wù)器啟動中'); })
3.ajax請求:
一般情況下都不需要使用ajax請求 使用ajax請求可以獲取錯誤信息以及其它的一些指令,使用ajax需要引用jquery
(1)ajax之get:
前端:
服務(wù)器:
var express = require('express'); var app = 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('服務(wù)器啟動中'); })
(2)ajax之post:
前端:
服務(wù)器:
var express = require('express'); var bodyParser = require('body-parser'); var app = express(); app.use(express.static('wwwroot')); app.use(bodyParser.urlencoded({extended:false})); app.listen('8080',function() { console.log('服務(wù)器啟動中'); }) app.post('/login',function(request,response) { if(request.body.name == '小明' && request.body.password == 666) { response.send('登錄成功'); } else { response.send('登錄失敗'); } })
(2)ajax之a(chǎn)jax:
前端:
服務(wù)器里面可以使用上面ajax的get和post方法的代碼,ajax請求的方式通過type設(shè)置為get方式還是post方式。
關(guān)于nodejs中怎么實現(xiàn)get/post請求就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。