本文共 2403 字,大约阅读时间需要 8 分钟。
server.js:
const express = require('express')const app = express()app.use(express.static(__dirname))app.listen(90)const app2 = express()//91端口的服务 返回数据app2.get("/",function(req,res){ res.send("你好")})app2.listen(91)
index.html:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <h1>大家好</h1></body><script src="https://unpkg.com/axios/dist/axios.min.js"></script><script> axios.get('http://localhost:91/').then(res=>console.log(res))</script></html>
这时候我们要想解决办法:
CORS
const express = require("express");const app = express();app.use(express.static(__dirname));app.listen(90);const app2 = express();//91端口的服务 返回数据app2.get("/", function (req, res) { res.header("Access-Control-Allow-Origin", "*"); res.send("你好");});app2.listen(91);
这样我们就可以拿到数据
JSONP
server.js
const express = require("express");const app = express();app.use(express.static(__dirname));app.listen(90);const app2 = express();//91端口的服务 返回数据app2.get("/", function (req, res) { var name = req.query.callback; res.send(name+'("hhh")');});app2.listen(91);
index.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <h1>大家好</h1></body><script> function f(data) { console.log(data) }</script><script src="http://localhost:91?callback=f"></script></html>
这里边 req.query.callback,req.query.内容,这个内容就是http://localhost:91? 后边的内容。比如我们在服务端传的是callback,那么我们接受时就用?callback=aa(这个名字就随便了)。TIPS:我们引入时src要在函数的下边。
nginx
// api请求前缀 // #ifdef H5 webUrl:'/api',
我使用了nginx来做代理:
location /api { proxy_pass https:/xxx.xxx.cn/api/v1; }
当我们请求的路径为/api时,我们会让设置的https:/xxx.xxx.cn/api/v1来代替请求。
转载地址:http://eflo.baihongyu.com/