jsonp实现跨域

来源:互联网 发布:jmeter响应数据乱码 编辑:程序博客网 时间:2024/05/19 18:48
 原理:利用了src属性都可实现跨域的特点,创建新的script标签,src的值为要进行跨域访问的地址,这样就可以执行不同域的js代码了,这里在src进行赋值的时候传一个callback的函数名到服务器,服务器就会根据所传的callback名字执行该函数,并且将数据作为参数传入该函数。

实例解析:
index.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>Document</title>
    <script>
        var test = function(data){
            alert('我是本地函数,可以被跨域的remote.js文件调用,远程js带来的数据是:' + data.result);
        };
        var scr = document.createElement('script');
        scr.setAttribute('src','remote.js?callback=test');

        document.head.appendChild(scr)
    
    </script>
</head>

<body>
    
</body>
</html>

remote.js

test({"result":"我是远程js带来的数据"});

WEB前端学习交流群21 598399936