关于跨域问题

2018-07-30  本文已影响0人  給我小鱼干

前端解决跨域问题方法:
1、在返回头加入headers: { "Access-Control-Allow-Origin": "*" }

let { pathname, query } = url.parse(req.url, true); // true把query转化成对象
    if (pathname === '/page') {
        let offset = parseInt(query.offset) || 0; //拿到当前前端传递的值
        read(function(books) {
            // 每次偏移量 在偏移的基础上增加五条
            let result = books.reverse().slice(offset, offset + pageSize); //数据倒序
            let hasMore = true; //默认有更多
            if (books.length <= offset + pageSize) { // 已经显示的数目 大于了总共条数
                hasMore = false;
            }
            res.setHeader('Content-Type', 'application/json;charset=utf8');
            res.setHeader("Access-Control-Allow-Origin", "*");
            res.end(JSON.stringify({ hasMore, books: result }));
        });
        return;
    }

2、使用node解决跨域问题

//app.js
app.all('*', function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
    res.header("X-Powered-By",' 3.2.1')
    res.header("Content-Type", "application/json;charset=utf-8");
    next();
});

3.使用node koa框架 引入cors

npm install cors
//app.js
let cors = require('cors');
app.use(cors());
上一篇下一篇

猜你喜欢

热点阅读