欢迎来到天天文库
浏览记录
ID:30517215
大小:16.64 KB
页数:5页
时间:2018-12-31
《浅析jsonp技术原理及实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解浅析JSONP技术原理及实现 这篇文章主要介绍了浅析JSONP技术原理及实现的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下 跨域问题一直是前端中常见的问题,每当说到跨域,第一浮现的技术必然就是JSONP JSONP在我的理解,它并不是ajax,它是在文档中插入一个script标签,创建_callback方法,通过服务器配合执行_callback方法,并传入一些参数
2、 JSONP的局限就在于,因为是通过插入script标签,所以参数只能通过url传入,因此只能满足get请求,特别jQuery的ajax方法时,即使设置type:'POST',但是只要设置了dataType:'jsonp',在请求时,都会自动使用GET请求 实现逻辑 step1:创建_callback方法(_callback中可以删除script标签和_callback方法) step2:插入script标签 step3:服务器输出js 实现: varrequestJsonp=function(opt){
3、 varfunName,script;对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 /* *step1创建_callback方法 */ //_callback函数名 funName='_cb'+(Math.random()*); //创建_callback方法 window[funNa
4、me]=function(data){ if(typeofopt.success=='function'){ opt.success(data); } window[funName]=null; deletewindow[funName]; document.body.removeChild(script); script=null; }; /* *step2插入script标签 */ script=document.createElement('script'); script.type='
5、text/javascript'; script.src=opt.url+(opt.url.indexOf('?')>-1?'&':'?')+'_callback='+funName;对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 document.body.appendChild(script);
6、 /* *step3服务器输出js *服务器应接受url参数中_callback的值,作为函数名执行输出js *类似输出 *_callback({"name":"jsonp","description":"jsonptest"}); */ /* *处理error */ script.addEventListener('error',function(){ window[funName]=null; deletewindow[funName]; if(typeofopt.error=='func
7、tion'){ opt.error(); } document.body.removeChild(script); script=null; }); };对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 requestJsonp({ url:'http://www.url.org?tid=
8、Jsx2', success:function(data){ console.log(data); }, error:function(){ console.log('requesterror!'); } }); 对于浏览器的行为就是插入script标签,执行js代码,删除script标签 实现代码并没有考虑兼容
此文档下载收益归作者所有