首頁 > web前端 > js教程 > jquery中的jQuery.ajax()函數用法實例詳解

jquery中的jQuery.ajax()函數用法實例詳解

伊谢尔伦
發布: 2017-06-19 09:48:26
原創
1433 人瀏覽過

jQuery.ajax()函數是jQuery封裝的AJAX技術實現,透過該函數,我們無需刷新當前頁面即可獲取遠端伺服器上的資料。 用於透過後台HTTP請求載入遠端資料。

jQuery.ajax()函數是jQuery的底層AJAX實作。 jQuery.get()、 jQuery.post()、load()、 jQuery.getJSON()、 jQuery.getScript()等函數都是此函數的簡化形式(都會呼叫函數,只是參數設定有所不同或有所省略)。

此函數屬於全域jQuery物件(也可理解為靜態函數)。

語法

#jQuery 1.0 新增此靜態函數。 jQuery.ajax()函數有以下兩種用法:

用法一:

jQuery.ajax( [ settings ] ] )
登入後複製

用法二:jQuery 1.5 新增支援該用法。

jQuery.ajax( url [, settings ] ] )
登入後複製

用法二是用法一的變體,它只是將參數物件settings中的可選屬性url單獨提取出來作為一個獨立的參數。

參數

請根據前面語法部分所定義的參數名稱尋找對應的參數。

url    String類型URL請求字串。    

settings    可選/Object類別類型一個Object物件,其中的每個屬性用來指定傳送請求所需的額外參數設定。 參數settings是一個物件。

傳回值

jQuery.ajax()函數的傳回值為jqXHR類型,傳回目前該要求的jqXHR物件( jQuery 1.4及以前版本回傳的是原生的XMLHttpRequest物件)。

實例程式碼說明:

#如果沒有給jQuery.ajax()指定任何參數,則預設請求目前頁面,並且不對返回資料進行處理。

jQuery.ajax()函數的settings物件中,常用的屬性有:url、type、async、data、dataType、success、error、complete、beforeSend、timeout等。

請參考下面這段初始HTML程式碼:

<div id="content"></div>
登入後複製

以下是與jQuery.ajax()函數相關的jQuery範例程式碼,以示範jQuery.ajax()函數的具體用法:

$.ajax({
     url: "jquery_ajax.php"
    , type: "POST"
    , data: "name=codeplayer&age=18"
    , success: function( data, textStatus, jqXHR ){
        // data 是返回的数据
        // textStatus 可能为"success"、"notmodified"等
        // jqXHR 是经过jQuery封装的XMLHttpRequest对象
        alert("返回的数据" + data);
    }
});
登入後複製
$.ajax({
     url: "jquery_ajax.php?page=1&id=3"
    , type: "POST"
    // jQuery会自动将对象数据转换为 "name=codeplayer&age=18&uid=1&uid=2&uid=3"
    , data: { name:"codeplayer", age:18, uid: [1, 2, 3] }
    // 请求成功时执行
    , success: function( data, textStatus, jqXHR ){
        alert("返回的数据" + data);
    }
    // 请求失败时执行
    , error: function(jqXHR, textStatus, errorMsg){
        // jqXHR 是经过jQuery封装的XMLHttpRequest对象
        // textStatus 可能为: null、"timeout"、"error"、"abort"或"parsererror"
        // errorMsg 可能为: "Not Found"、"Internal Server Error"等
        alert("请求失败:" + errorMsg);
    }
});
登入後複製
// 将url单独提取出来作为第一个参数(jQuery 1.5+才支持)
$.ajax("jquery_ajax.php?action=type&id=3", {
     dataType: "json" // 返回JSON格式的数据
    , success: function( data, textStatus, jqXHR ){
        // 假设返回的字符串数据为{ "name": "CodePlayer", age: 20 }
        // jQuery已帮我们将该JSON字符串转换为对应的JS对象,可以直接使用
        alert( data.name ); // CodePlayer
    }   
});
登入後複製
$.ajax( {
    // 注意这里有个参数callback=?
     url: "http://cross-domain/jquery_ajax.php?name=Jim&callback=?&age=21"
    , async: false // 同步请求,发送请求后浏览器将被锁定,只有等到该请求完成(无论成功或失败)后,用户才能操作,js代码才会继续执行
    , dataType: "jsonp" // 返回JSON格式的数据
    , success: function( data, textStatus, jqXHR ){
        // 假设返回的字符串数据为{ "site_name": "CodePlayer", "site_desc": "专注于编程开发技术分享" }
        // jQuery已帮我们将该JSON字符串转换为对应的JS对象,可以直接使用
        alert( data.site_desc ); // 专注于编程开发技术分享
    }   
});
登入後複製
$.ajax( {
    // 加载指定的js文件到当前文档中
     url: "http://code.jquery.com/jquery-1.8.3.min.js"
    , dataType: "script"
});
登入後複製





####################################################### #############

以上是jquery中的jQuery.ajax()函數用法實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板