JavaScript模拟实现jsonp
2018-03-29 22:25
423 查看
jsonp实际上就是在本地创建一个
参考链接:http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html
按照上面代码实现的思路来看,应该是继续处理剩下的js代码。然后页面排版引擎解析新增加的
<script>标签,利用
<script>标签自带的跨域能力访问另一个domain下面的文件。而这个文件将会返回一个js代码,执行回调函数。
代码
<script type="text/javascript"> // 提供jsonp服务的url地址(不管是什么类型的地址,最终生成的返回值都是一段javascript代码) var url = "http://flightQuery.com/jsonp/flightResult.aspx?code=CA1998&callback=flightHandler"; // 创建script标签,设置其属性 var script = document.createElement('script'); script.setAttribute('src', url); // 把script标签加入head,此时调用开始 document.getElementsByTagName('head')[0].appendChild(script); // 得到航班信息查询结果后的回调函数 var flightHandler = function(data){ alert('你查询的航班结果是:票价 ' + data.price + ' 元,' + '余票 ' + data.tickets + ' 张。'); }; </script>
参考链接:http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html
思考
在解析到上述js的时候已经对dom做出了修改,那么页面排版引擎是等待js引擎解析剩下的js代码,还是并行处理新增加的dom节点(<script>标签)?
按照上面代码实现的思路来看,应该是继续处理剩下的js代码。然后页面排版引擎解析新增加的
<script>标签,然后返回js代码执行回调,也就是执行本地定义的
flightHandler函数。
相关文章推荐
- JavaScript中模拟实现jsonp
- JavaScript中模拟实现jsonp
- 使用JavaScript链式编程实现模拟Jquery函数
- javascript加RoR实现JSONP
- JavaScript模拟实现自由落体效果
- javascript实现jsonp跨域访问
- Javascript call和apply的模拟实现
- 模拟jsonp的实现
- javascript模拟实现Map
- JavaScript模拟map的实现及其性能分析
- JavaScript模拟oop语言实现类的创建
- JavaScript实现MIPS乘法模拟的方法
- [原创]Javascript模拟“类”的综合实现方式以及部分细节【截至ES6】
- JavaScript:面向对象编程的模拟实现方法(三)
- 【JSONP】通过nodejs做服务器简单模拟实现跨域请求
- javascript模拟滚动条实现代码
- JavaScript 实现模拟拖放
- javascript模拟评分控件实现方法
- javascript模拟实现sleep函数
- javascript 实现jsonp