jsonp 跨域的使用

 js ajax在调用过程中如果请求外部连接,会报错。比如:
XMLHttpRequest cannot load ’'http://*****'  No 'Access-Control-Allow-Origin' header is present on the requested resource
 Origin 'http:/888*****' is therefore not allowed access.    
   出现跨域报错。


 跨域有以下集中表现形式:
1、同一域名,不同端口 a.com/b a.com:8080/a

2、同一域名,不同协议 http:// https://

3、域名和域名对应ip a.com/a 192.168.1.1/a

4、子域名不同 www.a.com wp.a.com

5、不同二级域名 www.a.com/a a.com/a

6、不同域名 a.com b.com



关于jsonp跨域调用有2种方式:


$.ajax({
    type:"GET",  
    url:"http://~~~~~~~~~~~&callback=?",
    dataType:"json",  
    success: function(msg){  
        console.log(msg.total);  
    }
})
1、这种直接type 写json格式, 然后链接后缀参数 callback的参数会自动填充 , 参数部分会在请求的时候自动填充

$.ajax({
    type:"GET",  
    url:"http://~~~~~~~~~~~",  
    dataType:"jsonp",  
    success: function(msg){  
        console.log(msg.total);  
    }
})
2、 这种直接把type 定义成jsonp格式, 然后再请求的时候会直接参数部分后缀 callback=******

关于请求链接返回,要准守jsonp的返回格式:
echo $_GET[‘callback’] . ’(’ . josn_encode($josnData) . ’)’;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值