中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jQuery怎么使用ajax

發布時間:2021-08-09 14:17:53 來源:億速云 閱讀:149 作者:小新 欄目:web開發

小編給大家分享一下jQuery怎么使用ajax,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

用JavaScript寫AJAX前面已經介紹過了,主要問題就是不同瀏覽器需要寫不同代碼,并且狀態和錯誤處理寫起來很麻煩。

用jQuery的相關對象來處理AJAX,不但不需要考慮瀏覽器問題,代碼也能大大簡化。

ajax

jQuery在全局對象jQuery(也就是$)綁定了ajax()函數,可以處理AJAX請求。ajax(url, settings)函數需要接收一個URL和一個可選的settings對象,常用的選項如下:

?async:是否異步執行AJAX請求,默認為true,千萬不要指定為false
?method:發送的Method,缺省為'GET',可指定為'POST'、'PUT'等;
?contentType:發送POST請求的格式,默認值為'application/x-www-form-urlencoded; charset=UTF-8',也可以指定為text/plain、application/json
?data:發送的數據,可以是字符串、數組或object。如果是GET請求,data將被轉換成query附加到URL上,如果是POST請求,根據contentType把data序列化成合適的格式;
?headers:發送的額外的HTTP頭,必須是一個object;
?dataType:接收的數據格式,可以指定為'html'、'xml'、'json'、'text'等,缺省情況下根據響應的Content-Type猜測。

下面的例子發送一個GET請求,并返回一個JSON格式的數據:

var jqxhr = $.ajax('/api/categories', {
  dataType: 'json'
});
// 請求已經發送了

不過,如何用回調函數處理返回的數據和出錯時的響應呢?

還記得Promise對象嗎?jQuery的jqXHR對象類似一個Promise對象,我們可以用鏈式寫法來處理各種回調:

'use strict';

function ajaxLog(s) {
  var txt = $('#test-response-text');
  txt.val(txt.val() + '\n' + s);
}

$('#test-response-text').val('');
var jqxhr = $.ajax('/api/categories', {
  dataType: 'json'
}).done(function (data) {
  ajaxLog('成功, 收到的數據: ' + JSON.stringify(data));
}).fail(function (xhr, status) {
  ajaxLog('失敗: ' + xhr.status + ', 原因: ' + status);
}).always(function () {
  ajaxLog('請求完成: 無論成功或失敗都會調用');
});

get

對常用的AJAX操作,jQuery提供了一些輔助方法。由于GET請求最常見,所以jQuery提供了get()方法,可以這么寫:

var jqxhr = $.get('/path/to/resource', {
  name: 'Bob Lee',
  check: 1
});

第二個參數如果是object,jQuery自動把它變成query string然后加到URL后面,實際的URL是:

/path/to/resource?name=Bob%20Lee&check=1

這樣我們就不用關心如何用URL編碼并構造一個query string了。

post

post()和get()類似,但是傳入的第二個參數默認被序列化為application/x-www-form-urlencoded

var jqxhr = $.post('/path/to/resource', {
  name: 'Bob Lee',
  check: 1
});

實際構造的數據name=Bob%20Lee&check=1作為POST的body被發送。

getJSON

由于JSON用得越來越普遍,所以jQuery也提供了getJSON()方法來快速通過GET獲取一個JSON對象:

var jqxhr = $.getJSON('/path/to/resource', {
  name: 'Bob Lee',
  check: 1
}).done(function (data) {
  // data已經被解析為JSON對象了
});

安全限制

jQuery的AJAX完全封裝的是JavaScript的AJAX操作,所以它的安全限制和前面講的用JavaScript寫AJAX完全一樣。
如果需要使用JSONP,可以在ajax()中設置jsonp: 'callback',讓jQuery實現JSONP跨域加載數據。

以上是“jQuery怎么使用ajax”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

和平县| 平山县| 武鸣县| 泸西县| 巫溪县| 宜阳县| 资讯| 紫阳县| 招远市| 邳州市| 金阳县| 顺义区| 松溪县| 浦北县| 岢岚县| 微博| 宁武县| 辉南县| 上高县| 修水县| 勃利县| 奉化市| 乌拉特前旗| 宜昌市| 临朐县| 洛宁县| 富蕴县| 遵义县| 东乌珠穆沁旗| 平阴县| 江华| 通山县| 阜宁县| 大姚县| 泰安市| 江安县| 永清县| 临清市| 延安市| 灯塔市| 上犹县|