node get post 跨域

前端模拟发起请求:axios。

get请求

Access-Control-Allow-Origin: *

const http = require('http');

// get请求
const server = http.createServer(function (request, response) {
    response.writeHead(200, {
        'Access-Control-Allow-Origin': '*'
    });
    let returnValue = {
        status: 'ok',
    }
    response.write(JSON.stringify(returnValue));
    response.end();
})
server.listen(8888);
console.log('GET OK~~~')

post请求

Access-Control-Allow-Headers: *
Access-Control-Allow-Origin: *

const http = require('http');

// post请求
const server = http.createServer(function (request, response) {
    response.setHeader('Access-Control-Allow-Headers', '*')
    response.setHeader('Access-Control-Allow-Origin', '*')
    let returnValue = {
        status: 'ok',
    }
    response.write(JSON.stringify(returnValue));
    response.end();
})
server.listen(8888);
console.log('POST OK~~~')

注意:

  1. 端口号不要被占用了,案例是8888。
  2. post需要多配置一个Access-Control-Allow-Headers

配置说明

'Access-Control-Allow-Credentials': true,//允许客户端携带验证信息,例如 cookie 之类的
'Access-Control-Allow-Headers': '*',//规定用户端发起的请求头中,可以夹带的自定义标头
'Access-Control-Allow-Methods': '*',//支持哪些请求方法,post、get...
'Access-Control-Allow-Origin': '*',

注意:

  1. Credentials 必须在前后端都被配置(即 Access-Control-Allow-Credentials header 和 XHR 或 Fetch request 中都要配置)才能使带 credentials 的 CORS 请求成功。

参考链接:MDN web docs

host 连接 mysql 学习记录
1、mysql 安装
MySQL8.0 For Windows zip包下载地址:https://dev.mysql.com/downloads/file/?id=476233

2、打开环境变量 按Windows+R键,接着在窗口内输入sysdm.cpl随后回车。

错误处理:1、 ‘mysql’ 不是内部或外部命令
首先在环境变量配置里,有两次确认需要点击:(1)是添加path变量后的确认(2)是在外侧的确认

注意:1、一定要关掉原来的命令窗口,重新使用Windows+R键,打开新的命令窗口,否则环境变量不生效,依然会报如下错误:“‘mysql’ 不是内部或外部命令,也不是可运行的程序或批处理文件。”

参考链接:MySQL-mysql 8.0.11安装教程
超级详细的mysql数据库安装指南

node 连接数据库

// 1. 加载msyql
var mysql = require('mysql');

// 2. 创建连接
var connection = mysql.createConnection({
  host: 'localhost',   // 你要连接的数据库服务器的地址
  port: 3306,// 端口号
  user: 'root',        // 连接数据库服务器需要的用户名
  password: '123456',        // 连接数据库服务器需要的密码
  database: 'testuserinfo'      //你要连接的数据库的名字
});

// 3. 连接数据库
connection.connect((err) => {
  // 如果有错误对象,表示连接失败
  if (err) return console.log('数据库连接失败')
  // 没有错误对象提示连接成功
  console.log('mysql数据库连接成功')
})

// 4. 执行SQL语句  要对 SQL语句进行改动 来执行不同的操作
let sql = 'select id,name,age from info';
connection.query(sql, (err, result) => {
  if (err) {
    console.log('错误', err)
  } else {
    console.log(result); // result就是查询结果
  }
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值