example11.html 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <button id="ok">换一组</button>
  9. <div id="container"></div>
  10. <!-- HTML: Hyper-Text Markup Language -->
  11. <!-- XML: eXtensible Markup Language -->
  12. <!-- XML最为重要的用途是在两个异构的系统之间交换数据 -->
  13. <!-- 现在这项功能基本上被JSON和YAML格式替代了 -->
  14. <!-- Ajax: Asynchronous JavaScript and XML -->
  15. <!-- 通过JavaScript代码向服务器发起异步请求并获得数据 -->
  16. <!-- 异步请求:在不中断用户体验的前提下向服务器发出请求 -->
  17. <!-- 获得数据后可以通过DOM操作对页面进行局部刷新加载服务器返回的数据 -->
  18. <script>
  19. (function() {
  20. var div = document.getElementById('container');
  21. var button = document.getElementById('ok');
  22. button.addEventListener('click', function() {
  23. // 1. 创建异步请求对象
  24. var xhr = new XMLHttpRequest();
  25. if (xhr) {
  26. var url = 'http://api.tianapi.com/meinv/?key=772a81a51ae5c780251b1f98ea431b84&num=10';
  27. // 2. 配置异步请求
  28. xhr.open('get', url, true);
  29. // 3. 绑定事件回调函数(服务器成功响应后要干什么)
  30. xhr.onreadystatechange = function() {
  31. if (xhr.readyState == 4 && xhr.status == 200) {
  32. div.innerHTML = '';
  33. // 5. 解析服务器返回的JSON格式的数据
  34. var jsonObj = JSON.parse(xhr.responseText);
  35. var array = jsonObj.newslist;
  36. // 6. 通过DOM操作实现页面的局部刷新
  37. for (var i = 0; i < array.length; i += 1) {
  38. var img = document.createElement('img');
  39. img.src = array[i].picUrl;
  40. img.width = '250';
  41. div.appendChild(img);
  42. }
  43. }
  44. };
  45. // 4. 发出请求
  46. xhr.send();
  47. } else {
  48. alert('使用垃圾浏览器还想看美女,做梦!');
  49. }
  50. });
  51. })();
  52. </script>
  53. </body>
  54. </html>