node环境实现jsonp和ajax跨域

  • 利用node实现一个简单服务器
const http = require('http')
const urlModule = require('url')
const server = http.createServer()
server.on('request', function (req, res) {
    const { pathname: url, query } = urlModule.parse(req.url, true)
    if (url === '/getscript') {
        var scriptStr = `show()`
        res.end(scriptStr)
    } else {
        res.end('404')
    }
})
server.listen(4000, function () {
    console.log('server listen at http://127.0.0.1:4000')
})

  • html页面编写jsonp
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>

<body>
    <script>
        window.show = function () {
            console.log("jsonp ok")
        }
    </script>
    <script src=" http://127.0.0.1:4000/getscript?callback=show"></script>
</body>

</html>
  • html编写ajax
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>

<body>
    <script src="./jquery-3.3.1.min.js"></script>
    <script>

        window.show = function () {
            console.log("jsonp ok")
        }
        $.ajax({
            url: 'http://localhost:4000/getscript',
            dataType: 'jsonp',
            jsonpCallback: 'show',
            success: function (data) {
                console.log("data")
            }
        })
    </script>

</body>

</html>
posted @ 2021-03-31 15:26  abcdefgab  阅读(56)  评论(0)    收藏  举报