1. 使用jsonp解决跨域问题
jsop核心:后端将数据以函数参数的形式进行返回,利用script跨域的方式来解决跨域问题;
- 设置方法:
- 获取想返回的响应体数据
- 利用javascript callback(param)返回一个jsonp的函数体
- 设置type为text/javascript
- 设置返回的响应体
// index.js
const Koa = require('koa');
const Router = require('koa-router');
const views = require('koa-views');
const path = require('path');
const app = new Koa();
const router = new Router();
app.use(
views(path.resolve(__dirname, './views'), {
extension: 'ejs'
})
);
router.get('/', async ctx => {
ctx.render('./views/index.ejs', {
title: 'Index' });
});
router.get('/getData', async ctx => {
const data = {
success: true,
data: {
text: 'this is jsonp api',
add: [1, 2, 3]
}
};
// 设置jsonpStr, 设置content-type和content-body
const jsonpStr = `callback(${
JSON.stringify