jsonp实现跨域

Posted 噜噜修

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsonp实现跨域相关的知识,希望对你有一定的参考价值。

 原理:利用了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










以上是关于jsonp实现跨域的主要内容,如果未能解决你的问题,请参考以下文章

正确面对跨域

AJAX跨域调用相关知识-CORS和JSONP

ajax跨域方法

WeX5 - AJAX跨域调用相关知识-CORS和JSONP

跨域解决方案

Java:ajax跨域问题