简述Ajax

Ajax简介

首先,我们使用某样东西,就一定要先了解它,那么,Ajax是什么呢,又能帮我们做什么呢?
要知道,Ajax其实并不是一种新技术,而是由XHTML,CSS,JavaScript,XmlHttpRequest,XML,JSON,DOM等多种技术混合而成的。
传统的页面在与服务器通信后都会刷新页面,而Ajax可以做到不刷新页面,也就是我们说的‘异步加载,局部更新’,在不刷新页面的同事做到局部更新页面。

异步加载

异步加载指的是某段程序执行时不会阻塞其它程序执行,其表现形式为程序的执行顺序不依赖程序本身的书写顺序 ,其优势在于不阻塞程序的执行,从而提升整体执行效率。
举个例子吧,朋友喊我吃饭,我让他先去,我先忙自己的事,这就是异步,同步就是朋友喊我吃饭,然后就等我一起,这就是同步
XMLHttpRequest可以以异步方式的处理程序。

Ajax请求

Ajax有两种请求方式,分别为get请求和post请求

1.get请求

get请求的安全性比较低,在地址上能够看到传递的参数和值,而且能够提交的数据非常少,但是优势在它的灵活性较高,只要有页面的跳转就可以get传递数据。
get请求步骤如下:

            // 创建异步对象
            var xml = new XMLHttpRequest()
                // 设置请求行
            xml.open('get', '01.get.php')
                // 设置请求头,get方式可不设置,post必须设置
            xml.setRequestHeader('name', 'yin')
                // 设置请求体,get方式写成null
            xml.send(null)
                // onreadystatechange是js事件,用来监听异步对象
            xml.onreadystatechange = function() {
                if (xml.status == 200 && xml.readyState == 4) {
                    console.log(xml.responseText);
                    text.value = xml.responseText
                }
            }

2.post请求

			 	//1.获取用户数据
			var msg = text.value
                // 创建异步对象
            var xml = new XMLHttpRequest()
                // 设置请求行
            xml.open('post', '01.post.php')
                // 设置请求头,get方式可不设置,post必须设置
            xml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
                // 设置请求体,get方式写成null
            xml.send('name=' + msg)
                // onreadystatechange是js事件,用来监听异步对象
            xml.onreadystatechange = function() {
				//一个真正的响应应该两个方面: 1.服务器成功响应 2.数据已经回到客户端并且可以使用了
                if (xml.status == 200 && xml.readyState == 4) {
                    console.log(xml.responseText);
                }
            }

相对get请求来说,post的安全性要高一点,它进行请求时地址栏上看不到数据,而且可以提交大量数据,但实际上get和post请求服务器数据可以说都是不安全的,传送和接收 都是明文以字符串形式交互数据的,因此,实际书写的时候必须要进行加密处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值