jquery非同步請求的意思是瀏覽器在發送請求給伺服器之後,不需要等待伺服器回應回傳就可以隨時發送下一次請求,即請求發送之前的資料不遺失,又能實現頁面的局部刷新;可以利用Ajax、“$.get()”、“$.post()”和“$.getJSON()”四種方法實現非同步請求。
本教學操作環境:windows10系統、jquery3.6.0版本、Dell G3電腦。
異步請求
#當瀏覽器向伺服器發送同步請求時,服務處理同步請求的過程中,瀏覽器會處於等待的狀態,伺服器處理完請求把數據響應給瀏覽器並覆蓋瀏覽器內存中原有的數據,瀏覽器重新加載頁面並展示伺服器響應的數據。
那麼,有沒有一種技術,可以讓瀏覽器發送請求給伺服器,在伺服器處理請求的過程中,瀏覽器不處於等待的狀態,瀏覽器接收回應資料的同時不再重新加載整個頁面,既請求發送之前的資料不遺失,又能實現頁面的局部刷新呢?那就要用到ajax請求-非同步請求模型
同步請求就是在發送一個請求之後,需要等待伺服器回應回傳,才能夠發送下一個請求。
非同步請求和同步請求相對,非同步不需要等待回應,隨時可以發送下一次請求。
jQuery非同步請求的四種方式
第一種Ajax請求:
儲存資料到伺服器,成功時顯示資訊
$.ajax({ type: “POST”, url: “some.php”, data: “name=John&location=Boston”, success: function(msg){ alert( "Data Saved: " + msg ); } });
註解:
l type:(預設:「GET」),請求方式(「POST」或「GET」)其他請求方法僅部分瀏覽器支援。
l url:(預設目前頁位址)發送請求的位址。
l data:存入的資料。
l success:當請求之後調用,轉入返回後的數據,以及包含成功代碼的字串。
l Function()裡面需要存入控制器那邊宣告的全域變數
第二種$.get()請求:
(透過遠端HTTP GET 請求載入資訊。這是一個簡單的GET 請求功能以取代複雜$.ajax 。請求成功時可呼叫回調函數。如果需要在出錯時執行函數,請使用$.ajax。)
描述:
顯示test.php 傳回值(HTML 或XML,取決於傳回值)。
jQuery 代碼:
$.get(“test.php”, function(data){ alert("Data Loaded: " + data); });
第三種$.post()請求:
(透過遠端HTTP POST 請求載入資訊)
說明:
輸出來自請求頁面test.php 的結果(HTML 或XML,取決於所傳回的內容):
jQuery 程式碼:
$.post(“test.php”, function(data){ alert("Data Loaded: " + data); });
第四種$.getJSON ()請求:
(透過HTTP GET 請求載入JSON 資料)
jQuery 程式碼:
$.getJSON(“http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format =json&jsoncallback=?”, function(data){ $.each(data.items, function(i,item){ $("").attr(“src”, item.media.m).appendTo("#images"); if ( i == 3 ) return false; }); });
注意:
l $.getJSON()請求,與前三有個點不太一樣,控制器裡面return的並非是Content而是JSon格式的程式碼
影片教學推薦:jQuery影片教學
以上是jquery非同步請求是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!