XMLHttpRequest对象的open方法

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后面的语句即可。

猜你喜欢

转载自blog.csdn.net/wargon/article/details/80641939