JSONP跨域

2018-12-04  本文已影响0人  云谷小宝

JSONP

全称:JSON with Padding,可用于解决主流浏览器的跨域数据访问的问题。

代码如下:

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>跨域演示</title>
    <script src="index1.js"></script>
</head>
<body>
</body>
</html>

JS部分:

文件名jsonp1.js

function loadScript(url) {
   var script = document.createElement('script')
   script.src = url
   script.type = 'text/javascript'
   var head = document.querySelector('head')
   head.appendChild(script)
}
function jsonpCallback(data) {
   console.log(JSON.stringify(data))
}

后端逻辑,文件名为jsonp2.js

var url = require('url')
var http = require('http')
http.createServer(function (req, res) {
    var data = {
        name: "xiaoming"
    };
    var callbackName = url.parse(req.url, true).query.callback
    res.writeHead(200)
    res.end(`${callbackName}(${JSON.stringify(data)})`)
}).listen(3000, 'localhost')
console.log('请打开localhost:3000查看结果')

验证结果:


终端输入node jsonp2.js 打开localhost:3000
上一篇 下一篇

猜你喜欢

热点阅读