open(method,url,async):
method:一般情况下使用GET方法可以满足要求,使用更简单也更快。但是,在无法使用缓存文件(更新服务器上的文件或数据库)、向服务器发送大量数据以及发送包含位置字符的用户输入时,应该使用post。
GET:例:xmlhttp.open("GET","/try/ajax/demo_get.php",true); 这种直接使用方式可能得到的是缓存结果。可以在url中增加唯一的ID:xmlhttp.open("GET","/try/ajav/demo_get.php?t="+Math.random(),true);
如果使用get方法发送数据,直接在url后添加。
POST:例:xmlhttp.open("POST","try/ajax/demo_post2.php",true); 如果需要使用post发送数据,使用setRequestHeader()来添加HTTP头,然后在send方法中添加数据。如:xmlhttp.open("POST","try/ajax/demo_post2.php",true); xmhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send("fname=Henry&name=Ford");
其中,setRequestHeader(header,value)方法:用于向请求添加HTTP头,header规定头的名称,value规定头的值。
URL:指服务器上的文件的路径。该文件可以使任何类型的文件,比如txt、xml、php等。
ASYNC:值为true或false。
async = true:表示异步执行。需要规定在响应处于onreadystatechange事件中的就绪状态时的执行的函数:
xmlhttp.onreadyatatechange=function(){
if(xmlhttp.readystate == 4 && xmlhttp.status == 200){
document.getElementById("myId").innerHTML = xmlhttp.responseText;
}
}
async = false:表示同步执行。一般不推荐设置此参数。JavaScript会等到服务器响应就绪才继续执行,如果服务器繁忙或缓慢,会导致程序挂起或停止。当使用false时也不要编写onreadystatechange函数。只需要把代码放到send后面的语句即可。