Jsonp跨域请求

怎么处理跨域问题呢?相信在看了这篇文章,您就理解了什么是跨域,怎么处理跨域问题了。

一、同源策略

要理解跨域,先要了解一下“同源策略”。所谓同源是指,域名,协议,端口相同。所谓“同源策略“,简单的说就是基于安全考虑,当前域不能访问其他域的东西。

在同源策略下,在某个服务器下的页面是无法获取到该服务器以外的数据的。例如我们在自己的网站通过ajax去获取豆瓣上https://developers.douban.com...提供的接口数据。这里我们以搜索图书为例,参数链接为:https://api.douban.com/v2/boo...,该链接中数据为JSON格式,如下:

我通过如下代码去访问该数据:




    
    ajax


    

上述程序运行时会报错:

clipboard.png

的src(获取图片),的href(获取css),

三、jQuery封装JSONP

对于经常用jQuery的开发者来说,能注意到jQuery封装的$.ajax中有一个dataType属性,如果将该属性设置成dataType:"jsonp",就能实现JSONP跨域了。需要了解的一点是,虽然jQuery将JSONP封装在$.ajax中,但是其本质与$.ajax不一样。

通过jQuery的$.ajax实现跨域的代码参考如下:




    
    jQuery实现JSONP


    

注:本文为转载
原文地址:轻松搞定JSONP跨域请求

你可能感兴趣的:(jsonp,javascript)