jQuery的AJax异步加载

主要用到load()方法以及getScript()方法,具体以一个例子说明:

在现有html文件中加载一个拟好的片段,以及在片段加载完成之前阻止用户进一步操作的弹出框。

首先是现有html代码,无任何内容:

  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4. <meta charset="UTF-8">
  5. <title>AJax异步加载</title>
  6. <script src="js/jquery-2.1.3.min.js"></script>
  7. <script src="js/main.js"></script>
  8. </head>
  9. <body>
  10. </body>
  11. </html>

拟一个js文件getData.js写一个函数最简陋的弹出框提示为例:

  1. function getData(){
  2. alert("片段的内容引自新浪体育");
  3. }

拟一个片段box.htm,承载要加载的片段内容:

  1. <div>
  2. <h4>中超-耿晓峰失误拉蒙两球 申花7轮首败1-4绿城</h4>
  3. <p>
  4. 北京时间8月11日晚19点35分,2015年中超联赛第22轮在杭州黄龙体育场开始一场较量,
  5. 由杭州绿城迎战上海申花。上半场第7分钟陈柏良突然冷射,导致耿晓峰接球脱手造成失球,
  6. 这是中华台北球员(陈昌源在比利时土生土长)在中超联赛进的首球。
  7. 第12分钟申花队吕征禁区右路左脚凌空射门扳平比分。第25分钟阿甘在底线附近把球送入禁区,
  8. 拉蒙头球得分,第37分钟阿甘单刀赴会打入一球。
  9. 第60分钟阿甘头球摆渡,拉蒙跟进射门梅开二度。最终杭州绿城4比1战胜上海申花。
  10. </p>
  11. </div>

最后写main.js来异步加载getData.js以及box.htm到现有html文件中。

  1. $(document).ready(function(){
  2. //异步加载js文件
  3. $.getScript("js/getData.js").complete(function(){
  4. getData();
  5. })
  6. //异步加载片段
  7. $("body").text("加载中...")
  8. $("body").load("box.htm",function(url,status,c){
  9. if(status=="error"){
  10. $(this).text("片段加载失败");
  11. }
  12. });
  13. })

最后效果:

jQuery的AJax异步加载

上一篇:springmvc编码问题


下一篇:htmlunit爬取js异步加载后的页面