ajax 的学习

1.ajax
ajax是7种技术的综合,常用到的:html+css javascript XML(xmlHttpRequest对象)
2,ajax可以理解成是javascript通过操作XML(xmlHttpRequest对象)来完成请求的过程
3,什么时候适合使用ajax?
(1)频繁的对数据库(服务器)进行操作的时候

(2)无刷新页面的请求(表单验证)

需要javascript和数据库交互

需要:javascript想要验证用户名有没有重复,需要去数据库查询,但是密码,email是没有必要提交过去的,而且 对服务器是一种负担;

Ajax:原则: 按需取数据  这样可以降低服务器的压力

验证用户名不能重复
1,现有控制器(前台注册user控制器)对应的动作
2,试图层
3,代码

2,get方式发送ajax请求
模型层原则:一张表对应一个模型

 

1.实例化XMLHttpRequest对象
      步骤:1
      XMLHttpRequest这个对象和php交互 先获得这个对象
      var xhr;
      if(window.ActiveXObject)
      {
      xhr = new ActiveXObject("Microsoft.XMLHTTP");
      }else if(window.XMLHttpRequest){
      xhr = new XMLHttpRequest();
      }
2,open()打开地址栏  //open()方法有3个参数  1,请求的方式;2,请求的url,3,是否为异步请求
var url = "index.php?c=user&a=search"; //这个请求的地址是服务器端的地址     
xhr.open("GET",url,true);

3,监听ajax请求的状态
xhr.onreadystatechange=callback;
4,send()完成ajax请求
xhr.send();
5,
回调函数
function callback(){
     if(xhr.readyState==4){//表示请求已经发送
   if(xhr.status==200)//请求已经发送成功
xhr.responseText //获得服务器相应的数据。
}
}

GET方式请求 需要注意
浏览器为了提高访问同一页面的速度,会先将我们访问的数据缓存起来,如果地址不变,相当于访问的是用一个页面,这时浏览器读取的是缓存的数据而不是真实的页面数据解决方法

在地址栏传递随机数(可以是当前时间,也可以是随机数)

json格式发送集合类的数据

服务器返回给浏览器返回2种数据
1,字符串,接收:xhr.responseText;
2,集合类
ajax就是javascript通过操作XMLHttpRequest对象完成http请求
服务器如何给浏览器返回集合类的数据

json_encode()编码后 返回的是json格式的字符串,(仍然是字符串),思路:如何让这个json格式的字符串转化成一个对象

1,先将字符串运行一下通过在字符串上()
2,eval()运行即可;
POST方式提交需要注意
Xhr.setRequestHeader("Content-Type","application/x-www-form-urlencodedd");

需要注意:

实例化XMLHttpRequest对象时,IE浏览器(new ActiveXObject(“Microsoft.XMLHTTP");
xhr = new ActionXOject("Microsoft.XMLHTTP");


2,信息浮动显示

 

异步的概念

XMLHttpRequest对象把数据传递大服务器的地址后,服务器处理他们的,我浏览器处理我的,这样可以减少用户的等待时间,如果是同步或阻塞,必须要等到服务器返回结果后,我浏览器才处理器才能处理我的事情,如果数据量大的话,用户等待的时间就特别长


Ajax请求和传统的web请求:
Ajax请求:XMLHttpRequest对象发送的请求
var url = "index.php?c=user&a=ajax_check&time="+Math.random()+"&username="+username.value;
传统的web请求:
<form action="index.php" method="post">

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值