加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

跨域问题之jsonp的实现

发布时间:2020-12-16 18:53:01 所属栏目:百科 来源:网络整理
导读:jsonp是一种json数据的使用方式,可以实现不同域名之间的请求和发送数据。 客户端实现方式: !DOCTYPE html html lang = "en" head meta charset = "UTF-8" title Document / title script src = "http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.m

jsonp是一种json数据的使用方式,可以实现不同域名之间的请求和发送数据。

客户端实现方式:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
    <script type="text/javascript"> var flightHandler = function(data){ alert(data); } var url = "http://119.29.176.18/jsonp.php?jsoncallback=flightHandler"; // 创建script标签,设置其属性 var script = document.createElement('script'); script.setAttribute('src',url); // 把script标签加入head,此时调用开始 document.getElementsByTagName('head')[0].appendChild(script); </script>
</head>
<body>

</body>
</html>

服务器端实现方式:

<?php header('Content-type: application/json'); //获取回调函数名 $jsoncallback = htmlspecialchars($_REQUEST ['jsoncallback']); //json数据 $json_data = '["customername1","customername2"]'; //输出jsonp格式的数据 echo $jsoncallback . "(" . $json_data . ")"; ?>

jquery实现客户端:

jQuery(document).ready(function(){
        $.ajax({
             type: "get",async: true,url: "http://119.29.176.18/jsonp.php",dataType: "jsonp",jsonp: "jsoncallback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback) 
             success: function(json){
                alert(json);
             },error: function(){
                 alert('fail');
             }
         });
     });

不正确之处还望指正。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读