前端$.ajax({ type: "GET", url: "localhost:3000/getData.jsonp", dataType: "jsonp", success: function(data) { console.log(data) }});nodeconst Koa = require('koa')const app = new Koa()app.use(async(ctx) => { console.log(ctx.method); ctx.set("Access-Control-Allow-Origin", "*"); /*星号表示所有的异域请求都可以接受,*/ ctx.set("Access-Control-Allow-Methods", "GET,POST"); // 如果jsonp 的请求为GET if (ctx.method === 'GET' && ctx.url.split('?')[0] === '/getData.jsonp') { console.log(ctx.query) // 获取jsonp的callback let callbackName = ctx.query.callback || 'callback' let returnData = { success: true, data: { text: 'this is a jsonp api', time: new Date().getTime(), } } // jsonp的script字符串 let jsonpStr = `;${callbackName}(${JSON.stringify(returnData)})` // 用text/javascript,让请求支持跨域获取 ctx.type = 'text/javascript' // 输出jsonp字符串 ctx.body = jsonpStr } else { ctx.body = 'hello jsonp' }})app.listen(3000, () => { console.log('[demo] jsonp is starting at port 3000')})浏览器访问报错,控制台里面后台都没打印node端没打印东西,node里面应该是没走到那里大神们,请帮助啊
添加回答
举报
0/150
提交
取消
