前端解决跨域
jsonp nginx document.domin window.name
后端解决跨域:
(1) 设置当前接口的响应头,设置所有网络都可访问
当前接口允许跨域:
在app.get('/user',(req,res)=>{
// 通过响应对象res设置
res.header('Access-Control-Allow-Origin',"*");
})
(2) cors 解决跨域
// 安装cors依赖
npm install cors --save-dev
// 在app.js中,使用cors
var express = require('express');
var cors = require('cors');
const app = express();
app.use(cors());
(3) http-proxy-middleware 反向代理,请求网络资源
用于后台将请求转发给其他服务器
在express脚手架中使用,前端html和后台在同一服务器
不在同一服务器,需开启cors跨域
// 安装http-proxy-middleware依赖
npm install http-proxy-middleware --save-dev
// 在app.js中,使用http-proxy-middleware
var express = require('express');
var proxy = require("http-proxy-middleware");
const app = express();
app.use('/herolist.json',proxy({target:'http://host810267499.s360.pppf.com.cn',changeOrigin:true}));
如果该服务器下的请求的url地址是/herolist.json,相当于访问的是http://host810267499.s360.pppf.com.cn/herolist.json
如果在外部访问localhost:3000/herolist.json,需再加跨域cors
后台买第三方接口,公司的爬虫师把数据爬下来,后台工作人员把自己的服务器作为中间层,把数据代理到自己的服务器上。
加密、解密:
(以下三种方式均需引入对应的js文件)
1、base64
加密:
var str = window.btoa('admin:12345');
console.log(str);
解密:
var a = window.atob(str);
console.log(a);
2、md5加密
var str = md5('haha');
console.log(str);
3、sha1加密
var str = sha1('haha');
console.log(str);