Ajax
来源:互联网 发布:win8网络连接受限 编辑:程序博客网 时间:2024/06/11 14:20
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。//面试笔试
AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。
1.XMLHttpRequest 对象
所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。
XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
2.创建XMLHttpRequest 对象(IE5 IE6忽略)
xmlhttp=new XMLHttpRequest();3.向服务器发送请求
//XMLHttpRequest对象有两个方法 open() 和send()
xmlhttp.open("GET","test1.txt",true);xmlhttp.send();
规定请求的类型、URL 以及是否异步处理请求。
- method:请求的类型;GET 或 POST
- url:文件在服务器上的位置
- async:true(异步)或 false(同步)
将请求发送到服务器。
- string:仅用于 POST 请求
tips:get vs post
1)GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给WEB服务器。当然在Ajax请求中,这种区别对用户是不可见的。
2)GET方式对传输的数据大小有限制,通常不能大于2KB,而POST方式传递的数据量要比GET方式大得多,理论上不受限制。
3)GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等。在某种情况下,GET方式会带来严重的安全问题。而POST方式相对来说就可以避免这些问题。
4)GET方式和POST方式传递的数据在服务器端的获取也不相同。在PHP中,GET方式的数据可以用$_GET[]获取,而POST方式可以用$_POST[]获取。两种方式都可以用$_REQUEST[]来获取。
4.服务器响应
//XMLHttpRequest 对象的 responseText 或 responseXML 属性。
responseText获得字符串形式的响应数据。responseXML获得 XML 形式的响应数据。
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;//可以这样使用
5.onreadystatechange 事件
每当 readyState 改变时,就会触发 onreadystatechange 事件。
readyState 属性存有 XMLHttpRequest 的状态信息。
存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
- 0: 请求未初始化
- 1: 服务器连接已建立
- 2: 请求已接收
- 3: 请求处理中
- 4: 请求已完成,且响应已就绪
200: "OK"
404: 未找到页面
xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { //执行方法 } }//onreadystatechange 事件被执行了几次呢?===5
5.用过jQuery的都知道callback();
var xmlhttp;function loadXMLDoc(url,stateCode){ xmlhttp=new XMLHttpRequest();xmlhttp.onreadystatechange=stateCode;xmlhttp.open("GET",url,true);xmlhttp.send();}var myAjax = function(){loadXMLDoc("test.txt",function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } });}
- Ajax
- Ajax
- AJAX
- AJAX
- AJAX
- AJAX
- AJAX
- ajax
- ajax
- Ajax
- ajax
- ajax
- AJAX
- Ajax
- Ajax
- Ajax
- ajax
- ajax
- Unity 程序去边框并实现拖拽窗口
- linux基础入门之groupmod命令
- C++11 标准新特性:Defaulted 和 Deleted 函数
- VNC viewer连接VNC server 无法显示正常桌面,桌面是上只显示3个勾选框,鼠标显示成一个叉
- item、nameItem的区别
- Ajax
- 查看maven引入的某个jar的依赖项
- 如何创建一个Analytics Framework的服务
- TextView+ToggleButton
- AngularJS Scope与rootScope理解与区别
- 百度地图实现 右键map,marker出现菜单
- GitHub上传文件大小设置
- 代码代码
- jQuery在某个标签的html代码后面,添加一些html代码?