这是我无意中发现的一个网址href="http://www.java1234.com/index.html,上面有很多javaWeb学习资源。然后我又无意中发现了联系了站长小锋老师,成为了他的学生。这里给小锋老师宣传下,嘿嘿!
我以前以为AJAX很难,今天看到w3school上的介绍,真少。
ajax的作用:使用户不用加载整个页面,而刷新网页部分内容。
ajax xhr:
1.XMLHttpRequest对象:用于在后台与服务器交换数据。意味着可以不用重新加载整个网页的情况下而对网页的某部分进行更新。创建XMLHttpRequest对象时,先检验浏览器是否支持XMLHttpRequest对象。创建及检验代码为:
var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrom, Opera, Safari xmlhttp = new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
2.向服务器发送请求,使用XMLHttpRequest对象的两个方法send(),open()
方法描述open(method,url,async)
规定请求的类型、URL 以及是否异步处理请求。
- method:请求的类型;GET 或 POST
- url:文件在服务器上的位置
- async:true(异步)或 false(同步)
send(string)
将请求发送到服务器。
- string:仅用于 POST 请求
xmlhttp.readyState==4 && xmlhttp.status==200这句话的解释:xmlhttp.readyState表示xmlttp交互状态,为4就表示交互完成;xmlhttp.status==200是xmlhttp与后台交互返回的一个状态码,200指交互正常完成,404指未找到文件,500指出现内部服务器错误。
使用setRequestHeader()来添加HTML头,然后在send()中t规定希望添加的数据,这样就可以像html表单那样POST数据。方法setRequestHeader(header,value)
向请求添加Http头
- header: 规定头的名称
- value: 规定头的值
xmlhttp.open("POST","ajax_test.asp",true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send("fname=Bill&lname=Gates");
url-服务器上的文件
open方法的url参数是服务器上文件的地址,该文件可以是任何类型的文件,比如.txt和.xml,或者服务器脚本文件,比如.asp和php(在传回相应之前,能够在服务器上执行任务)。
异步-True或False
ajax指的是javascript和xml。XMLHttpRequest对象如果要勇于ajax的话,其open()方法的async参数必须设置为true。通过ajax,javascript无需等待服务器的相应,而是在等待服务器相应时执行其他脚本,当相应就绪后对相应进行处理。当async=false时,不要编写onreadystatechange函数,把代码放到send()语句后面即可。
获得服务器相应,使用XMLHttpRequest对象的responseText或responseXML属性。
每当readyState改变时,就会触发onreadystatechange事件。下面是XMLHttpRequest对象的三个重要属性:
属性 | 描述 |
---|---|
onreadystatechange | 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。 |
readyState |
存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
|
status |
200: "OK" 404: 未找到页面 |