网络安全-跨域-8: 如何解决跨域- JSONP - jQuery
客户端
<body>
<script src="https://cdn.bootcss.com/jquery/3.5.0/jquery.min.js"></script>
<script>
function doFront(a, b) {
console.log(a);
console.log(b);
};
function getUser(data) {
console.info(data)
}
$.ajax({
url: 'http://localhost:8000/api/jsonp',
dataType: 'jsonp',
type: 'get',
data: {
cb: 'getUser',
msg: 'hello'
},
success: function(data) {
console.info(data)
}
})
</script>
</body>
服务端
const Koa = require('koa')
const fs = require('fs')
const app = new Koa()
app.use(async (ctx, next) => {
if (ctx.path === '/api/jsonp') {
const { cb, msg } = ctx.query
if (cb === 'getUser') {
const obj = { name: 'ronggwuxian', id: 1943 }
ctx.body = `${cb}(${JSON.stringify(obj)})`
}
return
}
})
app.listen(8000, () => {
console.info('App start at http://localhost:8000')
})
Keep learning