AJAX
ajax全名async javascript and XHL
AJAX是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术(局部刷新)
通俗的讲,AJAX就是JS通过一个网站去加载数据,这个过程通常是用户不可见的传统的网页(不使用AJAX)如果需要更新内容,必须重新加载整个网页
生活中的同步和异步: 同步:先煮完饭,再去烧菜(一个时间段内,事情按照顺序做) 异步:煮饭同时也在烧菜(一个时间段。事情不按顺序做)
是一个默认异步执行机制的功能
在程序中,同步和异步的区别就是在于代码的执行顺序。同步代码按照顺序运行,异步代码不按照顺序运行。
AJAX 的优势
1.页面局部刷新。在读取数据的过程中,用户所面对的不是白屏,而是原来页面的转台,或者正在更新的信息提示状态,只有当接收到全部数据后才更新相应部分的内容,而这种更新也是瞬间的用户几乎感觉不到 。
2.可以充分利用客户端闲置的处理能力,减轻服务器和网路传输的负担 。
3.使web中界面与应用相分离 也可以说是数据与呈现相分离。
缺点: 搜多引擎的支持度不够,因为数据都不在页面上,搜索引擎搜索不到。
xhr对象发送GET、POST请求
//1.创建对象 var xhr; if (window.XMLHttpRequest){//普通浏览器 xhr=new XMLHttpRequest(); }else{//老版本IE xhr=new ActiveXObject("Microsoft.XMLHTTP"); } //3.监听服务器响应 xhr.onreadystatechange=function(){ if(xhr.readyState==4&&xhr.status==200){ console.log(xhr.responseText);//将接收到的服务器数据显示到控制台中 } }; //2.打开链接 xhr.open("请求方式","请求地址",是否异步:默认为异步true); //3.5 请求头(POST请求时设置) xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); //4.发送请求 xhr.send();
get与post区别
get参数通过url传递,post放在请求体(request body)中;
get请求再url传递的参数有长度限制,而post没有
get比post更不安全,因为参数直接显示再url地址中,所以不能传递铭感数据
get请求浏览器会主动缓存,而post不会
get请求参数会保存再浏览历史记录,而post请求不会;
get和post本质上都是tcp链接