Ajax
1.ajax可以理解成是js通过操作XML来完成http请求的过程。 什么时候适合使用ajax? a。频繁的对数据库(服务器)进行操作的时候。 b。无刷新页面请求时(表单验证)。 3.需要js和数据库交互。 需要:javascript想要验证用户名有没有重复,需要去数据库查询,但是javascript没有办法去数据库查询,但是可以请php(运行在服务器端的语言)帮个忙,将php查询的结果告诉我们就可以(XMLHttpRequest对象)
ajax的优势: 1.传统的web请求,会将表单的数据全部提交到action=‘’这个地址的服务器上,但是密码,email是没有必要提交过去,而且对服务器是一种负担。
Ajax原则:按需取数据,这样可以降低服务器的压力。 什么是回调函数: 步骤: 1.实例化XMLHttpRequest对象。 2.open()打开地址栏。 3.监听ajax请求的状态。 4.send()完成ajax请求。 function ajax(){ var xhr; xhr=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP"); var url="index.php?c=user&a=baiduSuggest"; xhr.open('POST',url,true); xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xhr.onreadystatechange=callback; xhr.send('val='+obj); function callback(){ if(xhr.readyState==4){ if(xhr.status==200){
}
GET方式请求,需要注意: 浏览器为了提高访问同一页面的速度,会将我们访问的数据缓存起来,如果地址栏不变,相当于访问的是同一个页面,这时浏览器读取的缓存的数据儿不是真实的页面数据解决方法。
在地址栏传递参数,可以是当前时间,也可以是随机数。
Json_encode()编码后,返回的是json格式的字符串(任然还是字符串),思路:如何让这个json格式的字符串转化成一个对象。 eval函数 注意:eval()想要将字符串转化成对象,需要先将字符串运行一下,通过(); 例如:eval('('+xhr.responseText+')');
异步的概念:自己理解就行。
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">
如果以get方式发送ajax请求,注意: 1.如果在地址栏传递特殊字符(中文),需要转码encodeURL(); 2.浏览器有缓存,需要在地址栏传递随机数。Math。random();
如果以post方式发送请求 1、我们发送给服务器数据,通过send()发送过去,通常都是以post方式发送的。 2、以post方式发送,需要setRequestHeader()设置发送头信息。 xhr.setRequestHeader("Content-Type","application/x-www-form-urleccoded");
还有,javascript中,数组也是对象。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|