码迷,mamicode.com
首页 > Web开发 > 详细

前端 - jsonp 跨域ajax

时间:2018-11-05 21:55:36      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:inf   button   style   end   json   stat   element   技术   tag   

jsonp 跨域ajax原理:

  浏览器同源策略限制

如何解决同源策略限制:  

  方式一: 

    利用创建script块,在其中执行src属性为 远程url
        异域 用函数(返回值) 的形式返回参数  

  方式二:

    jquery方式
    异域 用函数(返回值) 的形式返回参数


HTML代码

    {#html代码开始#}
        <input type="text" name="k3" value="123">
        {#利用script块方式#}
        <input type="button" onclick="b1()" value="提交1">
        {#jquery 方式#}
        <input type="button" id="bt"  value="提交2">
    {#html代码结束#}

 

js代码

    <script src="/static/js/jquery-1.12.4.min.js"></script>
    <script>
        {#利用script块方式#}
         function b1() {
            var tag = document.createElement("script");
            tag.src = "http://172.16.3.107:9999/jsonp?callback=func";
            document.head.appendChild(tag);
            document.head.removeChild(tag);
        }

        {#jquery 方式#}
        $(‘#bt‘).click(function () {
            $.ajax({
                    url:‘http://172.16.3.107:9999/jsonp/‘,
                    type:‘GET‘,
                    dataType:‘jsonp‘,
                    jsonp:‘callback‘,
                    jsonpCallback:‘func‘
                })});

        {#定义包裹的函数,从而获取包裹的数据信息#}
        function func(arg) {
            console.log(arg)
        }
    </script>

 

别人网站设置

  将返回的数据用函数包裹(这里包括的函数从get中提取)

技术分享图片

 

前端 - jsonp 跨域ajax

标签:inf   button   style   end   json   stat   element   技术   tag   

原文地址:https://www.cnblogs.com/Anec/p/9909164.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!