乐趣区

关于node.js:挂屏笔记-复习-nodejs-接口跨域配置连接数据库身份认证

cors 实现跨域配置

装置 cors 后可通过引人中间件的形式引入到代码中

npm install cors 
const cors=require("cors")

要在调用路由之前

app.use('URL 前缀',cors())

自定义响应头实现跨域配置

CORS 响应头 Access-Control-Allow-Origin 容许拜访的地址

res.setHeader('Access-Control-Allow-Origin','容许跨域拜访的 URL,能够写通配符 *')

CORS 响应头 Access-Control-Allow-Methods 默认仅反对 GET,PODST,HEAD 申请

res.setHeader('Access-Control-Allow-Methods','*')

nodejs 连结,操作数据库

装置,引入 mysql 的包

npm install MySQL
const mysql = require('mysql')

建设连结

const db = mysql.createPool({
    host:"127.0.0.1",
    user:"root",
    password:"admin123",
    databases:"mydatabases"
})

执行 sql

let SQL_str='select * from user'
db.query('SQL_str',(err,results)=>{if(err) return console.log(err.message)
    查问操作执行胜利后后果集存储到 results 中
    console.log(results)
}) 

执行有参数的 sql

db.query('SQL str',['SQL_str 中须要的参数','字符串中用?占位'],(err,results)=>{if(err) return console.log(err.message)
    // 如果是增删改操作,则 results.affectedRows 为受影响的行数
    console.log(results)
}) 

如果数据对象的每个属性和数据表的字段一一对应,能够应用便捷写法

// 插入
let user1={name:'zhangsan',age:18}
const sqlStr1='Insert into user_table SET ?'
db.query(sqlStr1,user1,(err,results)=>{console.log(results)
})
// 更新
let user2={name:'zhangsan',age:18}
const sqlStr2='UPDATE user_table SET ? where id=?'
db.query(sqlStr2,[user2,user2.id],(err,results)=>{console.log(results)
})
退出移动版