挂屏笔记 复习 node.js 接口跨域配置,连接数据库,身份认证

发布于:2023-03-25 ⋅ 阅读:(568) ⋅ 点赞:(0)

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)
})

网站公告

今日签到

点亮在社区的每一天
去签到

热门文章