跨域问题-jsonp
发布时间:2020-12-16 18:43:47 所属栏目:百科 来源:网络整理
导读:前端 同源策略并不会拦截静态资源请求,那么就将接口伪装成资源,然后后端配合返回一个前端预定义的方法调用,将返回值放入调用该函数的形参即可 ! DOCTYPE html html lang ="en" head meta charset ="UTF-8" title Title / title script // 前端预定义 func
前端 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script> //前端预定义 function getName(rep){ document.write(rep.name) console.log(rep) } </script> </head> <body> <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> <script src="http://localhost:8082?callback=getName"></script> </body> </html> ? 后端 var http = require("http"); const url = require("url"); http.createServer(function (request,response) { let params = url.parse(request.url,true); response.end(params.query.callback + `(${JSON.stringify({name:"abc"})})`); }).listen(8082); ? 效果 ? 补充 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> <script> let url=‘http://localhost:8082?callback=getName‘; $.ajax({ url: url,type: "get",dataType: "jsonp",jsonpCallback: "getName",success: function (rep) { document.write(rep.name) console.log(rep) } }) </script> </head> <body></body> </html> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |