成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

#初識Express# Express 框架處理前端請求(/:id)

tracy / 942人閱讀

摘要:講解配置客戶端路由請求地址。將改成也是可以的,只是請求類型會變成。一個對象,其包含了一系列的屬性,這些屬性和在路由中命名的參數(shù)名是一一對應(yīng)的。有四個參數(shù),分別是,做請求處理,做響應(yīng)處理,執(zhí)行正確參數(shù)時的函數(shù)操作,是被監(jiān)聽參數(shù)的值。

文章涉及到的API:req.params,res.json(),app.get(),app.post(),app.param()

API講解

1. app.get()、app.post()

配置客戶端路由(請求地址)。

app.post("/get_json/:id", function (req, res) {
  // 響應(yīng)塊代碼
})

這里配置了一個POST請求的地址。將app.post()改成app.get()也是可以的,只是請求類型會變成get。

2. req.params

一個對象,其包含了一系列的屬性,這些屬性和在路由中命名的參數(shù)名是一一對應(yīng)的。例如,如果你有/user/:name路由,name屬性可通過req.params.name的方式獲取到,這個對象默認(rèn)值為{}。

3. res.json()

發(fā)送一個json的響應(yīng)。這個方法和將一個對象或者一個數(shù)組作為參數(shù)傳遞給res.send()方法的效果相同。不過,你可以使用這個方法來轉(zhuǎn)換其他的值到json,例如null,undefined。(雖然這些都是技術(shù)上無效的JSON)。

4. app.param()

這個API有兩個參數(shù),(name, callback),name是被監(jiān)聽參數(shù)的字段名, callback則是對監(jiān)聽結(jié)果的回調(diào)函數(shù)。callback有四個參數(shù),分別是 request、responsenext、name,request做請求處理,response做響應(yīng)處理,next執(zhí)行正確參數(shù)時的函數(shù)操作,name是被監(jiān)聽參數(shù)的值。

app.param("id", function(req, res, next, id) {
    if (id == 3) {
        next() // 參數(shù)正確調(diào)用next函數(shù)
    } else { // 監(jiān)聽參數(shù)不存在或者錯誤,給出錯誤響應(yīng)
        console.log("Erro !!!");
        res.send("Erro !!!!");
    }
})
示例代碼

服務(wù)端代碼

var express = require("express");
var bodyParser = require("body-parser");
var app = express();
// 解析json格式的數(shù)據(jù)
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

// POST請求 返回JSON串?dāng)?shù)據(jù)
app.post("/get_json/:id", function (req, res) {
   console.log("接收到 POST 請求");
   var json = {
           "message": "歡迎訪問",
           "data": { "a": 1, "b": 2, "c": 4, "d": 3, "e": 5 }
   }
   res.json(json);
})
// 處理不同參數(shù)的請求
app.param("id", function(req, res, next, id) {
    if (id == 3) {
        next() // 執(zhí)行正常操作,返回JSON數(shù)據(jù)
    } else {
        console.log("Erro !?。?);
        console.log(req.params);
        res.send("Erro !!!!");
    }
})

客戶端請求

ajax({
    url: "/get_json/1",  // 傳 3 的時候,后臺才會返回JSON數(shù)據(jù)
    type: "POST",
    data: data,
    success: function(data){
        // console.log( JSON.parse(data) );
           console.log(data);
    }
})

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/95242.html

相關(guān)文章

  • 30分鐘用Node.js構(gòu)建一個API服務(wù)器

    摘要:你的服務(wù)器已經(jīng)啟動了。為此,我們將使用名為的優(yōu)秀應(yīng)用。項目結(jié)構(gòu)大多數(shù)教程以及許多真實的案例都將所有路由放在一個很大的文件中。不僅要求為字符串,還要求是一個對象,它們被之為。 翻譯:瘋狂的技術(shù)宅原文:https://medium.freecodecamp.o... 本文首發(fā)微信公眾號:前端先鋒歡迎關(guān)注,每天都給你推送新鮮的前端技術(shù)文章 Node.js 對初學(xué)者來說可能是令人望而卻步...

    AlienZHOU 評論0 收藏0
  • CQRS框架(nodejs的DDD開發(fā)落地框架初識感想

    摘要:中的事件的一個,我暫且理解為一個中的和這兩個屬性已經(jīng)在框架中直接掛載在了對象上,歸功于曾老師。 CQRS是啥?DDD又是啥? 這兩個概念其實沒什么神秘的,當(dāng)然此文章中的這兩個概念以曾老師的課程為準(zhǔn)(關(guān)于CQRS和DDD的標(biāo)準(zhǔn)概念,google上已經(jīng)很多了,不再贅述。) DDD(Domain Driven Design),領(lǐng)域驅(qū)動設(shè)計開發(fā)。 DDD和OOP有什么同嗎?其實就我個人經(jīng)驗來說...

    zhoutk 評論0 收藏0
  • express web的一款mvc框架

    摘要:相關(guān)的網(wǎng)站開發(fā)有這么常用的四款數(shù)據(jù)層視圖層控制層框架,我們今天說一下阿里的框架是一個自身功能極簡,完全是由路由和中間件構(gòu)成一個的開發(fā)框架安裝創(chuàng)建一個目錄通過命令為你的應(yīng)用創(chuàng)建一個文件。修改請求和響應(yīng)對象。注意只對使用或加載的中間件有效。 express express相關(guān)的網(wǎng)站*http://expressjs.com/*http://www.expressjs.com.cn/*htt...

    _ang 評論0 收藏0
  • Express 實戰(zhàn)(一):概覽

    摘要:一個標(biāo)準(zhǔn)性的事件就是年的橫空出世。引擎快速處理能力和異步編程風(fēng)格,讓開發(fā)者從多線程中解脫了出來。其次,通過異步編程范式將其高并發(fā)的能力發(fā)揮的淋漓盡致。它也僅僅是一個處理請求并作出響應(yīng)的函數(shù),并無任何特殊之處。 showImg(https://segmentfault.com/img/remote/1460000010819116); 在正式學(xué)習(xí) Express 內(nèi)容之前,我們有必要從大...

    zhaochunqi 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<