成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用Node.js寫一個簡單的api接口

singerye / 2302人閱讀

摘要:它是當中處理文件的模塊,首先引入可以使用來讀取文件回調(diào)函數(shù)有兩個參數(shù),其中是文件的內(nèi)容,以二進制形式返回。

引入Http模塊

默認你已經(jīng)安裝了Node.js
Node當中內(nèi)置了Http模塊;
可以使用

var http= require("http");

引入http模塊;

Hello world

用Node.js實現(xiàn)一個HTTP服務器程序非常簡單。我們實現(xiàn)一個最簡單的Web程序,
它對于所有請求,都返回Hello world!,新建一個文件夾apiDemo 在里面新建一個server.js寫入:

// 導入http模塊:
var http = require("http");
// 創(chuàng)建http server,并傳入回調(diào)函數(shù):
var server = http.createServer(function (request, response) {
    // 回調(diào)函數(shù)接收request和response對象,
    // 獲得HTTP請求的method和url:
    console.log(request.method + ": " + request.url);
    // 將HTTP響應200寫入response, 同時設置Content-Type: text/html:
    response.writeHead(200, {"Content-Type": "text/html"});
    // 將HTTP響應的HTML內(nèi)容寫入response:
    response.end("Hello world!");
});

// 讓服務器監(jiān)聽8080端口:
server.listen(8080);

console.log("Server is running at http://127.0.0.1:8080/");

然后在當前目錄命令提示符下(cmd等)運行, 輸入:

node server.js

然后打開瀏覽器輸入:http://127.0.0.1:8080/ 就可以看到:

同時可以看到命令行中有打印的信息:

GET: /
GET: /favicon.ico

主要需要了解的是:

http.createServer(function(request, response){}) 

它的作用是創(chuàng)建一個http服務,里面?zhèn)饕粋€回調(diào)函數(shù),函數(shù)中包含兩個參數(shù)分別是(request,response)。
其中request是請求對象,response是響應對象。
可以根據(jù)request對象拿到請求頭的一些信息,如: request.url--返回請求路徑
響應成功后:
response.writeHead()————發(fā)送一個響應頭給請求
response.end("xxx")————響應成功 返回xxx
參考 Nodez中文網(wǎng)-HTTP

路由

我們是想當訪問http://127.0.0.1:8080/的時候返回當前目錄的index.html。
也就是說當request.url === "/"true時就可以確定當前請求的是根目錄了,

var url = request.url;
console.log(url);
// "/"

我們能創(chuàng)建一個服務,并且能使用response.end("Hello world!");返回“Hello world!”。如果想返回一個文件則需要用到Node.js的一個模塊了——fs 文件系統(tǒng)。
它是Node當中處理文件的模塊,首先引入:

var fs= require("fs");

可以使用fs.readFile()來讀取文件

fs.readFile("./index.html", function(err, data)  {
  if (err) throw err;
  console.log(data);
// 
});

回調(diào)函數(shù) 有兩個參數(shù) (err, data),其中 data 是文件的內(nèi)容,以二進制形式返回。

然后我們就可以編寫代碼了,當訪問根目錄時,返回index.html文件

var http= require("http");
var fs= require("fs");
var server= http.createServer(function(request, response){
    var url = request.url;
    if(url === "/"){
        fs.readFile("./index.html", function(err, data){
          if(!err){
            response.writeHead(200, {"Content-Type": "text/html;charset=UTF-8"});
            response.end(data)
          }else{
              throw err;
          }
        });
    }else{
        console.log("錯誤");
    }
});
server.listen(8080, "127.0.0.1");

然后在當前目錄下新建index.html,在這里我們可以寫一個ajax請求,一會我們點擊按鈕來實現(xiàn)ajax請求一組數(shù)據(jù):

 
看不到看不到

這段代碼是點擊按鈕的時候 會向/data發(fā)起一個ajsx請求,

實現(xiàn)簡單的API接口

既然能訪問根目錄時可以返回html文件,那我們可以自己設定一個url,當請求這個url是我們就給它返回一組json數(shù)據(jù)。正常來講這些數(shù)據(jù)應該是從數(shù)據(jù)庫讀取的,在這里只模擬一組json數(shù)據(jù),在當前目錄新建一個data.json

{"name": "尼古拉丁 * 趙四"}

所以當前的目錄結(jié)構(gòu)是:

然后我們可以在server.js中判斷一下,當請求的url是/data時,則返回data.json:

if(url === "/data"){
        fs.readFile("./data.json", function(err, data){
            if(!err){
                response.writeHead(200, {"Content-Type": "application/json"});
                response.end(data);
            }else{
                throw err;
            }
        })
    }

然后打開瀏覽器 http://127.0.0.1:8080 后,就會出現(xiàn)index.html頁面,點擊出現(xiàn)的按鈕就會觸發(fā)一個對 /data的ajax請求,當server.js接受到請求后,就會判斷url === "/data",然后它就會吧 data.json返回給我們。

最后的實現(xiàn)是點擊按鈕出現(xiàn)尼古拉丁 * 趙四,
GItHub源碼:node-apiDemo
參考:
廖雪峰-http詳解
Node-fs

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/100043.html

相關文章

  • 從零開始打造個人專屬命令行工具集——yargs完全指南

    摘要:自阮大神的文章發(fā)布以來,有了一些改動,添加有很多有用的功能,特別是這個功能,對打造命令行工具集合非常有用,所以寫一個新版本的教程還是有必要的。 前言 使用命令行程序?qū)Τ绦騿T來說很常見,就算是前端工程師或者開發(fā)gui的,也需要使用命令行來編譯程序或者打包程序 熟練使用命令行工具能極大的提高開發(fā)效率,linux自帶的命令行工具都非常的有用,但是這些工具都是按照通用需求開發(fā)出來的,如果有一些...

    wanghui 評論0 收藏0
  • api 接口管理工具

    摘要:接口管理工具大致分為線上工具和自建工具。安裝其他工具上面講的,不管是線上工具還是自建工具,都是接口集成工具,主要是為了提供數(shù)據(jù)功能。類似網(wǎng)易云筆記印象筆記的筆記管理工具。 api 接口管理工具 現(xiàn)在,Web 應用的前后端分離事實上已經(jīng)成為了大家都認可的一種開發(fā)方式,前后端分離之后,前端與后端都用接口(api)來溝通,這就需要我們做好 API 接口管理,所以,這次來聊聊 API 接口管理...

    marser 評論0 收藏0
  • api 接口管理工具

    摘要:接口管理工具大致分為線上工具和自建工具。安裝其他工具上面講的,不管是線上工具還是自建工具,都是接口集成工具,主要是為了提供數(shù)據(jù)功能。類似網(wǎng)易云筆記印象筆記的筆記管理工具。 api 接口管理工具 現(xiàn)在,Web 應用的前后端分離事實上已經(jīng)成為了大家都認可的一種開發(fā)方式,前后端分離之后,前端與后端都用接口(api)來溝通,這就需要我們做好 API 接口管理,所以,這次來聊聊 API 接口管理...

    wuyumin 評論0 收藏0
  • 【全文】狼叔:如何正確學習Node.js

    摘要:感謝大神的免費的計算機編程類中文書籍收錄并推薦地址,以后在倉庫里更新地址,聲音版全文狼叔如何正確的學習簡介現(xiàn)在,越來越多的科技公司和開發(fā)者開始使用開發(fā)各種應用。 說明 2017-12-14 我發(fā)了一篇文章《沒用過Node.js,就別瞎逼逼》是因為有人在知乎上黑Node.js。那篇文章的反響還是相當不錯的,甚至連著名的hax賀老都很認同,下班時讀那篇文章,竟然坐車的還坐過站了。大家可以很...

    Edison 評論0 收藏0
  • 【全文】狼叔:如何正確學習Node.js

    摘要:感謝大神的免費的計算機編程類中文書籍收錄并推薦地址,以后在倉庫里更新地址,聲音版全文狼叔如何正確的學習簡介現(xiàn)在,越來越多的科技公司和開發(fā)者開始使用開發(fā)各種應用。 說明 2017-12-14 我發(fā)了一篇文章《沒用過Node.js,就別瞎逼逼》是因為有人在知乎上黑Node.js。那篇文章的反響還是相當不錯的,甚至連著名的hax賀老都很認同,下班時讀那篇文章,竟然坐車的還坐過站了。大家可以很...

    fengxiuping 評論0 收藏0

發(fā)表評論

0條評論

singerye

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<