jsonp解决跨域访问的问题

jsonp解决跨域访问的问题

JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。 主要用于解决ajax的跨域访问
由于浏览器的同源策略(浏览器最基本的安全功能)。该策略会阻止不同源之间的交互,
同源: 同协议,同域名,同端口

jsonp解决跨域问题的基本方式

核心思想

浏览器虽然有同源策略,但是 src 和 href 两个属性却可以跨域访问。 可以利用这一“漏洞”来请求另一个网站的页面。

jsonp本质

即利用script的src发送一个get请求,来获取跨域接口提供的信息

jquery实现jsonp
document.getElementById('btn').onclick = function () {
    $.ajax({
        url: 'http://api.jisuapi.com/weather/query?appkey=************&city=北京',
        type: 'get',
        dataType: 'jsonp',
        jsonp: 'callback',
        success: function (msg) {
            console.log(msg);
            let tbodyStr = template('tpl', msg.result);
            $('#content').html(tbodyStr);            
        }
    })
}
  • jquery中发送jsonp请求发送方式必须为get
  • jquery中发送跨域请求时必须设置接收到的数据格式为jsonp
  • jquery只能使用 $.ajax发送jsonp请求,$.get与$.post方式不能发送jsonp请求
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值