多种方式跨域

接口网址:http://www.k780.com
浏览器同源策略阻止跨域:
                                    ①同域名
                                    ②同端口
                                    ③同协议
能跨域的标签:
                img
                link
                script 的src
             
最简单跨域:
         script的scr为数据的url,加个get参数为函数名,输出页面 echo $_GET['参数']()。
         js页面定义:函数名(msg){alert(msg);}
 
JQ形式跨域①:
         url为接口网址;方式一定是get;dataType:jsonp;jsonpCallback:回调函数名,跟接口网址的函数名一样;
         在success中操作数据

 

JQ形式跨域②:
         $.ajax({
               type:"GET",
               url:"网址",
               data:"正常传递参数",
               dataType:'jsonp',                       //声明 jsonp形式
               jsonp:'cbk',                               //php端 echo $_GET['cbk'].'('.数据.')';会把successs当作回调函数。
              success:function(msg){
                   alert(msg);
             }
         });
         php端:echo $_GET['cbk']()            ///实现回调。
注:jsonp:??时是告诉服务器端success是回调函数,因为它属于匿名函数。
 
JQ的get形式jsonp:
          var url="url?callback=?";
          $.get(url,function(msg){alert(msg)},'jsonp');
          //参数③是声明为jsonp;callback是回调函数,?是因为是匿名函数,php页面 $_GET['callback'](数据)实现回调。
 
JS形式接口:
          php页面:echo"var data{json_encode($data)}";
          html页面:$.getScript(网址,success(msg){操作data});           //不需要回调
          getScript() 1.2版本后可以跨域请求 js 形式数据,函数操作数据。
 
普通ajax形式解决同源:
         在php页面加个header头,无需回调函数,正常输出数据。*为所有域名都可访问。
         header('Access-Control-Allow-Origin:*');
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

八点半的Bruce丶D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值