后台部署,增删改查与跨域问题

本文介绍了后台开发中的数据库操作,包括安装mysql、创建连接对象及管理连接,并探讨了restful接口规范,详细阐述了增删改查的接口设计。此外,针对前后端分离开发中的跨域问题,讨论了jsonp和CORS两种解决方案,帮助开发者理解并解决实际开发中遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前后端分离开发模式(考虑跨域问题

  • 前端 会开启在一个自己的服务器上 4000
  1. div+css布局
  2. js,jquery,css3等实现页面交互
  3. 请求后端接口完成业务
  • 后端 会开启自己的服务器上 5000
  1. 编写接口
  2. 编写数据库
  3. 项目上线
    4000服务器在请求5000服务器的数据时就会出现跨域问题

一、引入数据库

1.安装mysql

npm imysql -S

2.创建mysql连接对象(routes中)
var mysql      = require('mysql');
//2 创建mysql链接对象
var connection = mysql.createConnection({
    //ip地址
  host     : 'localhost',
  user     : 'root',
  password : '123456',
  //数据库名
  database : 'mydb_0518'
});
3.开启并关闭连接
//查
router.get('/getUser/:id',(req,res)=>{
  const id = req.params.id
  const msq='select * from users where isdel=0 and id=?'
  connection.query(msq,id, function (err, results, fields) {
    if (err) return console.log(err.message)
    if(results.length === 0) return('查找的用户不存在')
    res.send({err_code:0, message:results})
    });
})	
//增
router.post('/adduser',(req,res)=>{
  const body=req.body
  const msq='insert into users set ?'
  connection.query(msq,body, function (err, results) {
    if (err) return console.log(err.message)
    if(results.affectedRows!=1) return res.send('添加失败')
    res.send({err_code:0,message:'添加成功'})
    });
})

二、restful接口规范

通过请求的方式了解到相应的接口操作

  1. 增 post 注:方法名
    addUser——>users 注:url
  2. 删 get——>delete
    deleteUsers——>users
  3. 改 post——>put
    updateUsers——>users
  4. 查 get
    getusers——>users

即各自的url全改用users(数据库的表名),方法全不一样,方法内容还是按照各自写法。

三、跨域问题

比如后端开启在8888端口,前端开启在8081端口,前端ajax访问后端端口时就会出现跨域问题,有两种解决方案如下:

1.jsonp方法

jsonp只能发送get请求,返回方法,里面返回对象。还需要提供jsonp接口

2.跨域资源共享(cors)
  • 后端安装cors模块:cnpm i cors -S
  • 引入cors:const cors = require('cors')
  • 使用cors模块(相当于中间件)app.use(cors())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值