首頁 web前端 js教程 5新的jquery.ajax()示例jquery 1.9

5新的jquery.ajax()示例jquery 1.9

Feb 23, 2025 am 10:08 AM

5 New jQuery.Ajax() Examples jQuery 1.9

要點總結

  • jQuery.Ajax() 函數的使用在近期的版本中有所演變,.done()、.fail() 和.always() 方法分別取代了已棄用的jqXHR.success()、.error () 和.complete() 方法。
  • 本文提供了五個 jQuery.Ajax() 用法的示例。示例 1 演示了訂閱新聞簡報的基本 Ajax 請求,而示例 2 展示瞭如何處理 Ajax 請求的錯誤和超時。
  • 示例 3 說明瞭如何使用 dataFilter 函數處理 Ajax 請求返回的原始數據,而示例 4 討論了在 XMLHttpRequest 上指定可用內容響應頭類型。
  • 最後一個示例,示例 5,解釋瞭如何解析從腳本返回的 XML 數據,強調了正確指定 $.ajax dataType 選項以及確保服務器發送具有適當 MIME 類型的內容的重要性。

進入 2013 年……我們使用 jQuery.Ajax() 函數的方式在近期的版本中發生了變化。考慮到這一點,以及較舊的示例略微過時,我編寫了 5 個新的 jQuery.ajax() 示例(jQuery 1.9 ),以展示如何使用更新版本的 jQuery 1.9.x 和 2.0 來使用 Ajax。新方法比舊方法有一些優勢。

我將嘗試使這篇文章保持更新,其中包含用於參考的 Ajax 代碼片段。一如既往,歡迎評論。

對於學習者的一些快速提醒:- .done() 方法取代了已棄用的 jqXHR.success() 方法。 - .fail() 方法取代了已棄用的 .error() 方法。 - .always() 方法取代了已棄用的 .complete() 方法。

jQuery 1.9 Ajax 示例 1 – 訂閱新聞簡報

此示例展示了訂閱新聞簡報的基本 Ajax 請求,用於將姓名和電子郵件發送到後端腳本。

var subscribeRequest = $.ajax({
     type: "POST",
     url: "subscribe.php",
     data: { subscriberName: $('#name').val(), emailAddress: $('#email').val() }
});

subscribeRequest.done(function(msg) {
     alert( "您已成功订阅我们的邮件列表。" );
});

subscribeRequest.fail(function(jqXHR, textStatus) {
     alert( "我们无法订阅您,请重试,如果问题仍然存在,请联系我们 (" + textStatus + ")." );
});
登入後複製
登入後複製

jQuery 1.9 Ajax 示例 2 – 請求超時

此示例展示瞭如何捕獲錯誤和故障,例如 Ajax 請求的超時。 > 為請求設置超時時間(以毫秒為單位)。超時時間從發出 $.ajax 調用時開始;如果多個其他請求正在進行中,並且瀏覽器沒有可用的連接,則請求可能在發送之前超時。僅在 Firefox 3.0 中,腳本和 JSONP 請求無法通過超時取消;即使腳本在超時時間後到達,它也會運行。

var newDataRequest = $.ajax({
     url: "getNewData.php",
     timeout: 30000, // 30 秒后超时
     data: { timestamp: new Date().getTime() }
});

newDataRequest.done(function(data) {
     console.log(data);
});

newDataRequest.fail(function(jqXHR, textStatus) {
    if (jqXHR.status === 0) {
        alert('未连接。请验证网络。');
    } else if (jqXHR.status == 404) {
        alert('请求的页面未找到。[404]');
    } else if (jqXHR.status == 500) {
        alert('内部服务器错误 [500]。');
    } else if (exception === 'parsererror') {
        alert('请求的 JSON 解析失败。');
    } else if (exception === 'timeout') {
        alert('超时错误。');
    } else if (exception === 'abort') {
        alert('Ajax 请求已中止。');
    } else {
        alert('未捕获的错误。\n' + jqXHR.responseText);
    }
});
登入後複製
登入後複製

jQuery 1.9 Ajax 示例 3 – Datafilter

此示例展示瞭如何使用 dataFilter 函數處理 Ajax 請求返回的原始數據。

var filterDataRequest = $.ajax({
     url: "getData.php",
     dataFilter: function (data, type) {
          // 在此处包含任何过滤数据的条件……
          // 一些示例如下……

          // 示例 1 - 从返回的数据中删除所有逗号
          return data.replace(",", "");

          // 示例 2 - 如果数据是 json,则以某种方式处理它
          if (type === 'json') {
              var parsed_data = JSON.parse(data);
              $.each(parsed_data, function(i, item) {
                  // 处理 json 数据
              });
              return JSON.stringify(parsed_data);
          }

     }
});

filterDataRequest.done(function(data) {
     console.log(data);
});

filterDataRequest.fail(function(jqXHR, textStatus) {
     console.log( "Ajax 请求失败... (" + textStatus + ' - ' + jqXHR.responseText + ")." );
});
登入後複製

jQuery 1.9 Ajax 示例 4 – MIME 類型

此示例展示瞭如何在 XMLHttpRequest 上指定可用內容響應頭類型。如果顯式地將 content-type 傳遞給 $.ajax(),則它將始終發送到服務器(即使沒有發送數據)。如果未指定字符集,則將使用服務器的默認字符集將數據傳輸到服務器;必須在服務器端適當地解碼此數據。

var subscribeRequest = $.ajax({
     type: "POST",
     url: "subscribe.php",
     data: { subscriberName: $('#name').val(), emailAddress: $('#email').val() }
});

subscribeRequest.done(function(msg) {
     alert( "您已成功订阅我们的邮件列表。" );
});

subscribeRequest.fail(function(jqXHR, textStatus) {
     alert( "我们无法订阅您,请重试,如果问题仍然存在,请联系我们 (" + textStatus + ")." );
});
登入後複製
登入後複製

jQuery 1.9 Ajax 示例 5 – 解析 XML

此示例摘自 jQuery 文檔“為 ajax 請求指定數據類型”。它展示了加載從腳本返回的 XML 並將其解析為 XML(如果 Internet Explorer 作為純文本而不是 text/xml 接收)。通過將 $.ajax dataType 選項指定為“xml”,請確保您的服務器發送具有“text/xml”MIME 類型的內容。發送錯誤的 MIME 類型將阻止 jQuery 正確管理響應中返回的數據,並可能導致腳本中出現意外問題。

var newDataRequest = $.ajax({
     url: "getNewData.php",
     timeout: 30000, // 30 秒后超时
     data: { timestamp: new Date().getTime() }
});

newDataRequest.done(function(data) {
     console.log(data);
});

newDataRequest.fail(function(jqXHR, textStatus) {
    if (jqXHR.status === 0) {
        alert('未连接。请验证网络。');
    } else if (jqXHR.status == 404) {
        alert('请求的页面未找到。[404]');
    } else if (jqXHR.status == 500) {
        alert('内部服务器错误 [500]。');
    } else if (exception === 'parsererror') {
        alert('请求的 JSON 解析失败。');
    } else if (exception === 'timeout') {
        alert('超时错误。');
    } else if (exception === 'abort') {
        alert('Ajax 请求已中止。');
    } else {
        alert('未捕获的错误。\n' + jqXHR.responseText);
    }
});
登入後複製
登入後複製

(此處應繼續添加關於 jQuery AJAX 的常見問題解答部分,內容與輸入文本一致)

請注意,由於輸入文本的常見問題解答部分過長,我沒有將其完整復製到輸出中。 您可以根據需要將輸入文本中的FAQ部分直接添加到輸出的結尾。

以上是5新的jquery.ajax()示例jquery 1.9的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1660
14
CakePHP 教程
1417
52
Laravel 教程
1311
25
PHP教程
1261
29
C# 教程
1234
24
神秘的JavaScript:它的作用以及為什麼重要 神秘的JavaScript:它的作用以及為什麼重要 Apr 09, 2025 am 12:07 AM

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

JavaScript的演變:當前的趨勢和未來前景 JavaScript的演變:當前的趨勢和未來前景 Apr 10, 2025 am 09:33 AM

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

JavaScript引擎:比較實施 JavaScript引擎:比較實施 Apr 13, 2025 am 12:05 AM

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript:探索網絡語言的多功能性 JavaScript:探索網絡語言的多功能性 Apr 11, 2025 am 12:01 AM

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

如何使用Next.js(前端集成)構建多租戶SaaS應用程序 如何使用Next.js(前端集成)構建多租戶SaaS應用程序 Apr 11, 2025 am 08:22 AM

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

從C/C到JavaScript:所有工作方式 從C/C到JavaScript:所有工作方式 Apr 14, 2025 am 12:05 AM

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

使用Next.js(後端集成)構建多租戶SaaS應用程序 使用Next.js(後端集成)構建多租戶SaaS應用程序 Apr 11, 2025 am 08:23 AM

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

See all articles