jQuery AJAX


AJAX是與服務(wù)器交換數(shù)據(jù)的技術(shù),能讓我們?cè)诓恢匦录虞d整個(gè)網(wǎng)頁(yè)的情況下,實(shí)現(xiàn)對(duì)部分網(wǎng)頁(yè)的更新。

AJAX = 異步 JavaScript 和 XML (Asynchronous JavaScript and XML)。

編寫常規(guī)的AJAX比較繁瑣,需要針對(duì)不同瀏覽器進(jìn)行測(cè)試,jQuery提供了多個(gè)與AJAX有關(guān)的方法,讓我們可以通過簡(jiǎn)單的幾行代碼實(shí)現(xiàn)AJAX功能。


jQuery load()方法

load()方法從服務(wù)器加載數(shù)據(jù),并將返回的數(shù)據(jù)放入指定的元素中。

語法
$(selector).load(URL,data,callback);

參數(shù)說明
URL:必須參數(shù),指定需要加載的URL。
data:可選參數(shù),與請(qǐng)求一同發(fā)送的查詢字符串鍵值對(duì)集合。
callback:可選參數(shù),load()方法完成后執(zhí)行的函數(shù)名稱。

示例
在load()方法完成后彈出一個(gè)提示框,load()方法成功,顯示“我不內(nèi)容加載成功”,失敗,則顯示錯(cuò)誤提示。

$("button").click(function(){
  $("#div1").load("demo_test.txt",function(responseTxt,statusTxt,xhr){
    if(statusTxt=="success")
      alert("外部?jī)?nèi)容加載成功!");
    if(statusTxt=="error")
      alert("Error: "+xhr.status+": "+xhr.statusText);
    });
});

動(dòng)手試一試:在線練習(xí)


jQuery get()和post()方法

jQuery通過get()和post()方法通過GET或POST請(qǐng)求從服務(wù)器請(qǐng)求數(shù)據(jù)。

get()語法
通過GET請(qǐng)求從服務(wù)器請(qǐng)求數(shù)據(jù):$.get(URL,callback);

URL:必選參數(shù),指定請(qǐng)求的URL。
callback:可選參數(shù),請(qǐng)求成功后執(zhí)行的函數(shù)名。

示例

$("button").click(function(){
  $.get("demo_test.php",function(data,status){
    //data回調(diào)參數(shù)存有被請(qǐng)求頁(yè)面的內(nèi)容,status回調(diào)參數(shù)存有請(qǐng)求的狀態(tài)。
    alert("數(shù)據(jù): " + data + "\n狀態(tài): " + status);
  });
});

附上demo_test.php 文件代碼:

<?php
echo '這是個(gè)從PHP文件中讀取的數(shù)據(jù)。';
?>

動(dòng)手試一試:在線練習(xí)

post()語法
通過POST請(qǐng)求從服務(wù)器請(qǐng)求輸出:$.post(URL,data,callback);

URL:必選參數(shù),指定請(qǐng)求的URL。
data:可選參數(shù),連同請(qǐng)求發(fā)送的數(shù)據(jù)。
callback:可選參數(shù),請(qǐng)求成功后執(zhí)行的函數(shù)名。

示例

$("button").click(function(){
    $.post("/try/ajax/demo_test_post.php",
    {
        name:"菜鳥教程",
        url:"http://www.runoob.com"
    },
        function(data,status){
        alert("數(shù)據(jù): \n" + data + "\n狀態(tài): " + status);
    });
});

$.post()的第一個(gè)參數(shù),請(qǐng)求的URL("demo_test_post.php")。
第二個(gè)參數(shù),連同請(qǐng)求一起發(fā)送的name和url。
第三個(gè)參數(shù),回調(diào)函數(shù),兩個(gè)回調(diào)參數(shù),date存有被請(qǐng)求頁(yè)面內(nèi)容,status存有請(qǐng)求狀態(tài)。

附上demo_test_post.php 文件代碼:

<?php
$name = isset($_POST['name']) ? htmlspecialchars($_POST['name']) : '';
$url = isset($_POST['url']) ? htmlspecialchars($_POST['url']) : '';
echo '網(wǎng)站名: ' . $name;
echo "\n";
echo 'URL 地址: ' .$url;
?>

動(dòng)手試一試:在線練習(xí)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • jQuery - AJAX 簡(jiǎn)介 AJAX 是與服務(wù)器交換數(shù)據(jù)的藝術(shù),它在不重載全部頁(yè)面的情況下,實(shí)現(xiàn)了對(duì)部分網(wǎng)頁(yè)...
    鹿守心畔光閱讀 836評(píng)論 0 6
  • 之前在思維導(dǎo)圖中介紹過集中請(qǐng)求Ajax的方法,但是只是匆匆說過,最近看了一本書,覺得介紹的比較詳細(xì),這里結(jié)合筆者自...
    范小飯_閱讀 33,655評(píng)論 23 252
  • jQuery ajax - ajax() 方法 http://www.w3school.com.cn/jquery...
    光劍書架上的書閱讀 1,207評(píng)論 0 15
  • ajax:通過 HTTP 請(qǐng)求加載遠(yuǎn)程數(shù)據(jù)。 通過dataType選項(xiàng)還可以指定其他不同數(shù)據(jù)處理方式。除了單純的X...
    仰望天空的人閱讀 161評(píng)論 0 1
  • jQuery對(duì)ajax操作進(jìn)行了封裝,在jQuery中$.ajax()方法屬于最底層的方法,第二層是load()、...
    DHFE閱讀 283評(píng)論 0 1

友情鏈接更多精彩內(nèi)容