资讯专栏INFORMATION COLUMN

Jsonp跨域请求

tainzhi / 468人阅读

摘要:实现跨域请求的原理简单的说,就是动态创建标签,然后利用的不受同源策略约束来跨域获取数据。回调函数的名字一般是在请求中指定的。

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

一、同源策略

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

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

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




    
    ajax


    

上述程序运行时会报错:

的src(获取图片),的href(获取css), 三、jQuery封装JSONP

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

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




    
    jQuery实现JSONP


    

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83895.html

相关文章

  • JSONP跨域访问API接口深入理解

    摘要:说明关于跨域问题的解决方案多达七八种,你不要说哪有这么多,我不跟你较真哈,你也别跟我较真哈自行百度或这里不会跟你说那么多种只说使用最多的一种你要非说用的不是最多的我不信哦你信好了哈哈你开心就好关于跨域浏览器的同源策略要了解什么是跨域你需要了 说明 关于跨域问题的解决方案多达七、八种,你不要说哪有这么多,我不跟你较真哈,你也别跟我较真哈, ?!自行 百度 或 Google, 这里不会跟你...

    tunny 评论0 收藏0
  • jsonp 跨域原理分析

    摘要:为请求指定一个回调函数名。这主要用来让生成一个独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。在回调函数中,通常我们只需通过判断请求是否完成,如果已完成,再根据判断是否是一个成功的响应。 本篇文章借鉴自 博客园文章 原文地址 AJAX即Asynchronous Javascript And XML(异步JavaScript和XML),是指一种创建交互式网页应用的...

    scq000 评论0 收藏0
  • 再也不学AJAX了!(三)跨域获取资源 ② - JSONP & CORS

    摘要:浏览器的同源策略固然保障了互联网世界的数据隐私与数据安全,但是如果当我们需要使用跨域请求资源时,同源策略又会成为开发者的阻碍。我们之前提到过,如果想要绕过浏览器同源策略,实现使用技术跨域获取资源,需要服务端和客户端的协同合作。 浏览器的同源策略固然保障了互联网世界的数据隐私与数据安全,但是如果当我们需要使用AJAX跨域请求资源时,同源策略又会成为开发者的阻碍。在本文中,我们会简单介绍需...

    enda 评论0 收藏0
  • 004. 前端跨域资源请求JSONP/CORS/反向代理

    摘要:同源策略浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。不受同源策略限制的跨域资源的引入是允许的页面中的链接,重定向以及表单提交是不会受到同源策略限制的。1.什么是跨域资源请求? https://www.cnblogs.com/niuli1987/p/10252214.html 同源: 如果两个页面的协议,端口(如果有指定)和域名都相同,则两个页面具有相...

    番茄西红柿 评论0 收藏0
  • jsonp跨域资源引起CORB

    摘要:三原因分析浏览器在加载可以跨域资源时,在将资源载入页面时对其进行识别与拦截等一系列处理。从而禁用了客户端浏览器的类型嗅探行为即把不可执行的类型转变为可执行的类型。 一、jsonp的使用 jsonp是实现跨域请求数据的一种方式,解决了由于浏览器同源策略带来的安全限制;虽然浏览器有同源策略的限制,但对于一些特殊的dom元素却可引用非同源资源,例如 等,下面结合例子说明: jquery直接发...

    wuyangnju 评论0 收藏0
  • 前端跨域资源请求JSONP/CORS/反向代理

    摘要:此时完成的跨域代理配置仅仅是在开发环境下生效,到了生产环境下如果是放到服务器上则还需要借助的反向代理来进行跨域的代理。跨域 指的是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略造成的,是浏览器对 JavaScript 施加的安全限制。同源就是指 域名,协议,端口 均相同。两个网域若 域名、协议、端口 任一不同则二者的通信就出现了跨域问题,前端的跨域问题普通存在于两个阶段,一个是开发环境...

    番茄西红柿 评论0 收藏0

发表评论

0条评论

tainzhi

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<