前端重新学习(11)javascipt之ajax代码实例(2)

本文主要讲述在Ajax请求json的实例

实例和源码将在wamp64上面进行测试,编辑器使用sublime3

详情见https://study.163.com/course/courseMain.htm?courseId=1004570051

Ajax常规4步 

 ajax.html

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Ajax 2 - 请求JSON数据</title>
</head>
<body>
	<button id="button1">请求单个用户</button>
	<button id="button2">请求所有用户(遍历)</button>

	<br><br>

	<h1>单个用户</h1>
	<div id="user"></div>

	<h1>所有用户</h1>
	<div id="users"></div>

	<script>
		document.getElementById('button1').addEventListener('click',loadUser);
		document.getElementById('button2').addEventListener('click',loadUsers);

		function loadUser(){
			var xhr = new XMLHttpRequest();
			xhr.open("GET","user.json",true);
			xhr.onload = function(){
				if (this.status == 200) {
					console.log(this.responseText);//测试输出第一个数据
					var user = JSON.parse(this.responseText);//数据解析
					console.log(user.name);//测试解析后输出第一个数据属性

					var output = '';
					output += 
						'<ul>'+
							'<li>'+user.id+'</li>'+
							'<li>'+user.name+'</li>'+
							'<li>'+user.email+'</li>'+
						'</ul>';
					;
					document.getElementById('user').innerHTML = output;
				}
			}

			xhr.send();
		}

		function loadUsers(){
			var xhr = new XMLHttpRequest();
			xhr.open("GET","user.json",true);
			xhr.onload = function(){
				if (this.status == 200) {
					var users = JSON.parse(this.responseText);
					var output = '';

					// 遍历数组
					for(var i in users){
						output += 
							'<ul>'+
								'<li>'+users[i].id+'</li>'+
								'<li>'+users[i].name+'</li>'+
								'<li>'+users[i].email+'</li>'+
							'</ul>';
						;
					}
					document.getElementById('users').innerHTML = output;
				}
			}

			xhr.send();
		}

	</script>
</body>
</html>

user.json

[
	{
		"id":1,
		"name":"Henry",
		"email":"henry@gmail.com"
	},
	{
		"id":2,
		"name":"Bucky",
		"email":"bucky@gmail.com"
	},
	{
		"id":3,
		"name":"Hemiah",
		"email":"27732357@qq.com"
	}
]

IE浏览器Ajax的兼容性

XMLHttpRequest 对象

所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。

XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

解决方案

                var xhr;
                if (window.XMLHttpRequest)
                {// code for IE7+, Firefox, Chrome, Opera, Safari
                    xhr=new XMLHttpRequest();
                }
                else
                {// code for IE6, IE5
                    xhr=new ActiveXObject("Microsoft.XMLHTTP");
                }

同一个URL只有一个结果(资源更新时无法及时更新到最新资源)

在IE浏览器中, 如果通过Ajax发送GET请求, 那么IE浏览器认为

同一个URL只有一个结果

解决方案

console.log(Math.random());
console.log(new Date().getTime());
  
//利用动态url解决此问题 
xhr.open("GET","05-ajax-get.txt?t="+(new Date().getTime()),true);

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要快速学习JavaScript,你可以按照以下步骤进行: 1. 学习基础知识:开始之前,了解JavaScript的基本语法、数据类型、变量、运算符和控制流程等基础知识是很重要的。你可以通过在线教程、书籍或视频教程来学习。 2. 实践编码:理论知识只是一部分,实践是学习编程语言的关键。尝试编写一些简单的JavaScript程序,并通过实践来加深对语言特性和概念的理解。 3. 掌握DOM操作:JavaScript最常用的功能之一是操作HTML文档中的元素。学习如何使用JavaScript来操作DOM(文档对象模型)是非常重要的。这将使你能够动态地修改网页内容、响应用户交互等。 4. 学习常用框架和库:掌握一些常用的JavaScript框架和库,如React、Angular或Vue等,可以帮助你更高效地构建复杂的Web应用程序。 5. 参与项目和实践:参与实际项目或编写小型应用程序是提高你的JavaScript技能的重要途径。这样你可以将所学知识应用到实际场景中,并从中获得经验和反馈。 6. 阅读和学习他人的代码:阅读他人的JavaScript代码可以帮助你学习新的技巧、理解最佳实践,并提高自己的编码能力。参与开源项目也是一个很好的学习机会。 7. 持续学习和实践:JavaScript是一门不断发展和演变的语言,新的特性和工具不断涌现。要保持学习的态度,并持续实践和探索。 记住,学习编程需要时间和耐心。不要急于求成,持续学习和实践将使你逐渐掌握JavaScript的技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值