发起JSONP请求
2016-05-23 00:00
393 查看
摘要: 自己写的一个jsonp实现
JSONP说白了,就是利用
JSONP说白了,就是利用
<script>标签执行一个合法的跨域请求,然后执行自定义回调函数。代码如下:
/** * 发起JSONP请求 * @function jsonp * @param {String} url 请求的URL * @param {Function} onSuccess jsonp响应成功后的回调函数 */ function jsonp(url, onSuccess) { var hash = Math.random().toString().slice(2); window['jsonp' + hash] = function(data) { if ('undefined' !== typeof data.errCode) { data.errCode = parseInt(data.errCode, 10); } clearJsonp(hash); onSuccess(data); }; var script = document.createElement('script'); script.id = 'js' + hash; script.onerror = function() { console.log('JSONP failed'); clearJsonp(hash); onSuccess(); }; script.src = url + '&_=' + hash + '&jsonp=jsonp' + hash; document.body.appendChild(script); } // 清理jsonp临时数据 function clearJsonp (hash) { window['jsonp' + hash] = null; delete window['jsonp' + hash]; setTimeout(function(){ document.body.removeChild(document.getElementById('js' + hash)); }, 50); }
相关文章推荐
- vbs 解析json jsonp的方法
- JavaScript中模拟实现jsonp
- AJAX实现跨域的三种方法(代理,JSONP,XHR2)
- Node.js返回JSONP详解
- 一看就懂:jsonp详解
- 详解JavaScript中jQuery和Ajax以及JSONP的联合使用
- 解决jQuery使用JSONP时产生的错误
- js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
- 浅析json与jsonp区别及通过ajax获得json数据后格式的转换
- 浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
- jquery中的ajax方法怎样通过JSONP进行远程调用
- JSONP获取Twitter和Facebook文章数的具体步骤
- JSONP跨域的原理解析及其实现介绍
- 什么是json和jsonp,jQuery json实例详详细说明
- Jsonp post 跨域方案
- php jsonp单引号转义
- 深入分析JSONP跨域的原理
- AJAX跨域请求之JSONP获取JSON数据
- js实现跨域的4种实用方法原理分析
- 详细解密jsonp跨域请求