跨域的解决方案
1.jsonp
router.get('/', function(req, res, next) {
let _callback = req.query.callback
let { limitNum, pageCode } = req.query; // 获取用户提交的分页数据
limitNum = limitNum * 1 || 10
pageCode = pageCode * 1 ||0
sql.paging(User, {}, {_id: 0}, limitNum, pageCode).then(data => {
var obj = {
code: '200',
message: 'success',
data: data
}
if (_callback) {
// 这两步设置发送也是NODE.JS发送JSONP必备
res.type('text/javascript');
res.send(_callback + '(' + JSON.stringify(obj) + ')');
} else {
res.json(obj)
}
})
});
//前端 $.ajax({ url: 'http://localhost:3000/users', dataType: 'jsonp', // ****************************** success: function (data) { console.log(data) } })
2.cors
//app.js中添加如下代码 var allowCrossDomain = function (req, res, next) { res.header('Access-Control-Allow-Origin', '*');//自定义中间件,设置跨域需要的响应头。 next(); }; app.use(allowCrossDomain) ////运用跨域的中间件
3.反向代理
客户端访问服务器会遇到跨域问题,但是服务器与服务器之前不存在跨域问题。
自己请求自己的服务器,自己的服务器去请求别人的服务器。
正向代理」代理的对象是客户端,「反向代理」代理的对象是服务端。
浙公网安备 33010602011771号