封裝接口


以前,每次和小伙伴合作,張口閉口都是管他要接口。如今想自己搭一個博客,接口這神聖的東西也得靠自己去琢磨了。

 

前一篇,我們知道了怎么連接數據庫並獲取里面的數據,現在我們來試一試把他顯示在前端頁面上。

 

1、新建一個文件夾test,test文件下有一個test.html文件和一個node文件夾還有一個js文件夾,node文件夾里面有test.js文件,js文件夾也有test.js文件,如圖所示:

                                                         

 

 

 

2、安裝 express 框架,直接安裝並寫入依賴里

cd  C:\Users\Smily\Desktop\test

npm install express --save

 

 

 

 

3、動手寫代碼

test.html文件引入test.js文件,代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
</head>
<body>
    <h1>測試node寫接口</h1>
    <script type="text/javascript" src='node/test.js'></script>
</body>
</html>

 

node文件夾的test.js內容如下:

var express=require('express');
var app =express();

//設置跨域訪問
app.all('*', function(req, res, next) {
   res.header("Access-Control-Allow-Origin", "*");
   res.header("Access-Control-Allow-Headers", "X-Requested-With");
   res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
   res.header("X-Powered-By",' 3.2.1');
   res.header("Content-Type", "application/json;charset=utf-8");
   next();
});


 // 查詢數據
 var mongo=require("mongodb");
 var host="localhost";
 var port=27017; // 默認是27017端口
 var server=new mongo.Server(host,port,{auto_reconnect:true});//創建數據庫所在的服務器服務器
 var db=new mongo.Db("test",server,{safe:true});//創建數據庫對象  myblog是數據庫的名稱
//連接數據庫
var findData = ''; // 保存查詢到的數據
 db.open(function (err,db) {

     // 如果報錯
    if(err){
         throw err;
    }

    // 成功連接數據庫
    else{
        db.collection("list_1", function (err,collection) {

            //  報錯
            if(err){
                throw err;
            }

            // 成功
            else{
                // 需要查詢的字段
                var whereStr = {"username":'www'};
                // 查詢
                collection.find(whereStr,function(error, cursor){
                    cursor.each(function(error,doc){
                        if(doc){
                            // 輸出查詢的結果
                            findData = doc;
                        }
                    });
                });
            }

        });
    }
 });



//寫個接口123,這里nodeTest是你的接口名稱
app.get('/nodeTest',function(req,res){
    res.status(200),
    // 返回給客戶端查詢到的數據
    res.json(findData);
});

//配置服務端口
var server = app.listen(3000, function () {
    console.log("我正在監聽3000端口");
})

 

js文件夾的test.js內容如下:

var xhr = '';
var requestData = '';
//兼容性處理
if(window.XMLHttpRequest){
    xhr = new XMLHttpRequest();
}else{
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
}

xhr.open('GET','http://localhost:3000/nodeTest',true);
xhr.send(null);

xhr.onreadystatechange = function(){
    if(xhr.readyState == 4){
        if(xhr.status >= 200 && xhr.status < 300 || xhr.status == 304){

            requestData = xhr.responseText;//獲取到后台響應的數據
            var data = JSON.parse(requestData);//將響應數據轉化成json格式,以便使用
            //使用數據
            console.log(data);
            //~~~
        }else{
            //請求數據錯誤的處理函數
        }
    }else{
        //ajax發送失敗,沒有得到響應數據
    }
}

 

 

 

 

 

4、啟動test.js監聽3000的端口

cd  C:\Users\Smily\Desktop\test\node

node test

 

 

 

 

5、打開網頁查看獲取的數據

 

 

 

是不是很簡單?有了這些基本的操作,看來離搭博客的日子不遠了,嘻嘻 = =

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM