日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

中國最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2

ajax教程

XHR 請求

閱讀 (2336)

AJAX - 向服務器發送請求


XMLHttpRequest 對象用于和服務器交換數據。


向服務器發送請求

如需將請求發送到服務器,我們使用 XMLHttpRequest 對象的 open() 和 send() 方法:

xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();


方法描述
open(method,url,async)

規定請求的類型、URL 以及是否異步處理請求。

  • method:請求的類型;GET 或 POST

  • url:文件在服務器上的位置

  • async:true(異步)或 false(同步)

send(string)

將請求發送到服務器。

  • string:僅用于 POST 請求



GET 還是 POST?

與 POST 相比,GET 更簡單也更快,并且在大部分情況下都能用。

然而,在以下情況中,請使用 POST 請求:

  • 無法使用緩存文件(更新服務器上的文件或數據庫)

  • 向服務器發送大量數據(POST 沒有數據量限制)

  • 發送包含未知字符的用戶輸入時,POST 比 GET 更穩定也更可靠


GET 請求

一個簡單的 GET 請求:

實例

xmlhttp.open("GET","demo_get.html",true);
xmlhttp.send();

嘗試一下 ?

在上面的例子中,您可能得到的是緩存的結果。

為了避免這種情況,請向 URL 添加一個唯一的 ID:

實例

xmlhttp.open("GET","demo_get.html?t=" + Math.random(),true);
xmlhttp.send();

嘗試一下 ?

如果您希望通過 GET 方法發送信息,請向 URL 添加信息:

實例

xmlhttp.open("GET","demo_get2.html?fname=Henry&lname=Ford",true);
xmlhttp.send();

嘗試一下 ?



POST 請求

一個簡單 POST 請求:

實例

xmlhttp.open("POST","demo_post.html",true);
xmlhttp.send();

嘗試一下 ?

如果需要像 HTML 表單那樣 POST 數據,請使用 setRequestHeader() 來添加 HTTP 頭。然后在 send() 方法中規定您希望發送的數據:

實例

xmlhttp.open("POST","ajax_test.html",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Henry&lname=Ford");

嘗試一下 ?


方法描述
setRequestHeader(header,value)

向請求添加 HTTP 頭。

  • header: 規定頭的名稱

  • value: 規定頭的值



url - 服務器上的文件

open() 方法的 url 參數是服務器上文件的地址:

xmlhttp.open("GET","ajax_test.html",true);

該文件可以是任何類型的文件,比如 .txt 和 .xml,或者服務器腳本文件,比如 .asp 和 .php (在傳回響應之前,能夠在服務器上執行任務)。


異步 - True 或 False?

AJAX 指的是異步 JavaScript 和 XML(Asynchronous JavaScript and XML)。

XMLHttpRequest 對象如果要用于 AJAX 的話,其 open() 方法的 async 參數必須設置為 true:

xmlhttp.open("GET","ajax_test.html",true);

對于 web 開發人員來說,發送異步請求是一個巨大的進步。很多在服務器執行的任務都相當費時。AJAX 出現之前,這可能會引起應用程序掛起或停止。

通過 AJAX,JavaScript 無需等待服務器的響應,而是:

  • 在等待服務器響應時執行其他腳本

  • 當響應就緒后對響應進行處理


Async=true

當使用 async=true 時,請規定在響應處于 onreadystatechange 事件中的就緒狀態時執行的函數:

實例

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();

嘗試一下 ?

您將在稍后的章節學習更多有關 onreadystatechange 的內容。


Async = false

如需使用 async=false,請將 open() 方法中的第三個參數改為 false:

xmlhttp.open("GET","test1.txt",false);

我們不推薦使用 async=false,但是對于一些小型的請求,也是可以的。

請記住,JavaScript 會等到服務器響應就緒才繼續執行。如果服務器繁忙或緩慢,應用程序會掛起或停止。

注意:當您使用 async=false 時,請不要編寫 onreadystatechange 函數 - 把代碼放到 send() 語句后面即可:

實例

xmlhttp.open("GET","ajax_info.txt",false);
xmlhttp.send();
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

嘗試一下 ?
關閉
程序員人生
主站蜘蛛池模板: 91精品国产福利一区二区三区 | 香蕉一区二区 | 亚洲成人一二三 | 欧美日韩一区在线 | 午夜在线视频 | 在线视频91| 亚洲精品综合一区二区 | 一级国产 | 一区二区三区在线视频免费观看 | 欧美亚洲一| 天天操夜夜草 | 成年人在线观看视频 | av资源免费 | 欧美专区亚洲专区 | 性色一区二区三区 | 九九热在线播放 | 欧美日韩一卡二卡三卡 | 久久午夜影院 | 欧美三级欧美成人高清www | 日韩欧美精品一区二区 | 欧美国产三级 | 免费欧美一级片 | 性史性dvd影片农村毛片 | 久久天天 | 中国一级特黄毛片大片 | 欧美日韩国产精品一区二区 | 91中文视频 | 韩日av在线 | 国产一区二区在线免费 | 欧美国产精品一区二区三区 | 综合中文字幕 | 日韩国产综合 | 91看片在线观看视频 | 国产成年人 | 日韩在线视频免费观看 | 夜夜久久久 | 亚洲一区欧美 | 欧美a一级片 | 久久久夜精品 | 色爱区成人综合网 | 国产精品久久久久久久久久久久久 |