nodejs 介面傳輸資料

soubei發表於2020-08-15

最近專案需要介面傳輸,於是乎找了那個選擇哪個語言,選擇node,而且是https模式!
找了好久才解決跨域問題!廢話不多說,直接上程式碼

let mysql = require('mysql');
let express = require('express');
let app = express();
let https = require("https");
let fs = require("fs");
// Configuare https
const httpsOption = {
    key : fs.readFileSync("./https/3_jdong.xuexuebang.cn.key"),//https證照key
    cert: fs.readFileSync("./https/2_jdong.xuexuebang.cn.crt")//https證照crt
}
//連結資料庫
let connection = mysql.createConnection({
    host     : '127.0.0.1',
    port     : '3306',
    database : 'sz',

    user     : 'soubei',
    password : 'soubei',
})

connection.connect();






//解決跨域問題
app.all("*",function (req, res, next) { //允許所有請求方式
    res.header("Access-Control-Allow-Origin","*");//所有
    res.header("Access-Control-Allow-Headers","content-type")//post
    next()
})

app.get('/userlist',function(req,res){
     shop_name = req.query.shop_name;


    connection.query('SELECT * from `order` where orderStatus="暫停" ',function(error,results,fileds){
        if(error) throw error;
        res.header("Access-Control-Allow-Origin", "*");
        res.header('Access-Control-Allow-Headers', 'Content-type');
        res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS,PATCH");
        res.header('Access-Control-Max-Age',1728000);//預請求快取20天

        res.writeHead(200,{"Content-Type":"text/json;chartset=utf-8"})
        data = []
         // console.log('SELECT skuId from `cmf_order_sku` where shop_name="'+shop_name+'" group by skuId')
           connection.query('SELECT skuId from `cmf_order_sku` where shop_name="'+shop_name+'" group by skuId',function(error,result,fileds){
            if (result !=''){
               res.end(JSON.stringify(result))

            }
             if (error == null){

                res.end(JSON.stringify('請求失敗'))
            }

          })

    })
})

https.createServer(httpsOption, app).listen(8080,function(){
    // let host = server.address().address;
    // let port = server.address().port;
    console.log("應用例項,執行在http://%s:%s")
});


效果圖如下

nodejs 介面傳輸資料

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章