最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

jsonp实现原理解析

来源:懂视网 责编:小采 时间:2020-11-27 20:19:18
文档

jsonp实现原理解析

jsonp实现原理解析:一. jsonp实现原理是利用script标签可以获取不同源资源的特点,来达到跨域访问某个资源的目的。具体行为如下:创建一个script标签,将请求地址写入它的src属性,将这个script外链插入head标签中;声明一个回调函数callback,函数名和请求地址中的一致;请
推荐度:
导读jsonp实现原理解析:一. jsonp实现原理是利用script标签可以获取不同源资源的特点,来达到跨域访问某个资源的目的。具体行为如下:创建一个script标签,将请求地址写入它的src属性,将这个script外链插入head标签中;声明一个回调函数callback,函数名和请求地址中的一致;请

一. jsonp实现原理是利用script标签可以获取不同源资源的特点,来达到跨域访问某个资源的目的。具体行为如下:

  1. 创建一个script标签,将请求地址写入它的src属性,将这个script外链插入head标签中;

  2. 声明一个回调函数callback,函数名和请求地址中的一致;

  3. 请求地址的内容是一个以json对象为参数的执行函数callback;

  4. 当script资源载入时,callback开始执行,将json数据输出。

  5. jsonp其实就是json padding,而在json数据外包裹它的那个函数,就是padding。

// 简单的mock jsonpvar mockJsonp = function(url) {var ele = document.createElement('script');var head = document.getElementsByTagName('head')[0];
 ele.src = url;
 head.appendChild(ele);
}
mockJsonp('./index.js');function callback(data){
 console.log(data);
}// index.jscallback("name": "xxx", "age": "20");

二. jq中的ajax请求数据格式为jsonp时,会发生以下操作:先构造一个script标签,然后注册一个onload的回调,最后将构造好的script标签insert进去;insert完成之后,会触发onload回调,其中又将前面插入的script标签去掉了。其中的 代码 callback( 200, "success" ) 其实就是触发 ajax 的jsonp成功时的success回调函数,callback函数其实是一个 done 函数。

三. jsonp跨域只能是get请求,jq在封装jsonp跨域时,不论我们指定的是get还是post,他统一换成了get请求。

四. 其他跨域方式

  1. cors(Cross-Origin Resource Sharing)跨域资源共享,服务器端设置Access-Control-Allow-Origin,如果浏览器检测到相应的设置,就会允许访问;

  2. 修改document.domain,将子域和主域的document.domain设为同一个主域;

  3. window.name,每个页面都对window.name有读写的权限,window.name持久存在在一个窗口载入过的所有页面中;

  4. window.postMessage

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

jsonp实现原理解析

jsonp实现原理解析:一. jsonp实现原理是利用script标签可以获取不同源资源的特点,来达到跨域访问某个资源的目的。具体行为如下:创建一个script标签,将请求地址写入它的src属性,将这个script外链插入head标签中;声明一个回调函数callback,函数名和请求地址中的一致;请
推荐度:
标签: 原理 讲解 实现
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top