Form表單------AJAX------Fetch

來源:互聯網
上載者:User

標籤:xmlhttp   非同步請求   send   cti   開始   http   console   服務   function   

1.在Ajax之前

最開始,瀏覽器發起請求的過程如下:

使用者輸入網址/a標籤/img標籤等 --> 伺服器返回html/css/js --> 使用者接收後重新載入頁面。

上面的請求發起方式,要麼會導致頁面重新整理(form表單提交也是如此),要麼只能請求特定類型的檔案(圖片,css,或JS)。

2.AJAX的到來

AJAX的實質就是用JS發起一個請求,並得到伺服器返回的內容。

而JS發起請求的關鍵,是通過瀏覽器提供的XMLHttpRequest介面。請求過程如下:

//建立一個XMLHttpRequest對象var request = new XMLHttpRequest()//監聽成功請求後的狀態變化, request.responseText 就是伺服器返回的內容了(預設是字串)request.onreadystatechange = function() {  if (this.readyState == 4 && this.status == 200) {    console.log(request.responseText)  }};// 佈建要求參數request.open("GET", "filename", true);//發送請求request.send();

上述過程,通過jQuery的封裝後:

$.get(‘filename‘).then(function(response){  // 這裡的 response 就是返回的內容})

3.Fetch API

既然瀏覽器都提供了XMLHttpRequest這個API,為什麼不直接提供封裝好的介面呢?

Fetch API就是瀏覽器提供的原生AJAX介面。可以使用window.fetch函數代替以前的$.ajax。

也就是說,瀏覽器幫我們把jQuery.ajax給實現了,以後可以直接用fetch來發送非同步請求。

fetch(‘/‘).then(function(response){    response.text().then(function(text){        console.log(text)    })})

不過Fetch API,基於ES6.

Form表單------AJAX------Fetch

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.