网络安全-跨域-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')
})
posted @ 2020-08-20 17:33  荣光无限  阅读(65)  评论(0)    收藏  举报