关于jsonp跨域 不会执行回调函数的问题

今天在看到ajax的跨域方法时,注意到了一个以前用过的jsonp方法,但是自己只是单纯跟着网上教程使用而已。

但在尝试着自己搭建后台来让浏览器使用jsonp方法获取资源时,却发现无论如何修改都不能执行回调函数。索性自己就胡搞一番(反正是再闲暇时间),但是却让我瞎碰对了。


我的后台使用的node.js+express ,请看下面代码:

app.get('/test', function (req, res) {
    res.send(`${req.query.callback}(123)`)
})

后台接收到callback字段,并返回一个 执行函数的字符串(‘callbackFunction(123)’) 

<script>
        function callbackFunction(result) {
            console.log(result)
        }
    </script>
<script src="http://192.168.0.107/test?callback=callbackFunction"></script>
前端这一块会执行这个callbackFunction的函数,是后台返回的时候执行的,所以函数声明一定要在jsonp所在的标签之前就要定义好。

猜你喜欢

转载自blog.csdn.net/yang52ya7/article/details/80293778