javascript - ajax的非同步問題
請問ajax
裡面的回呼函數是返回data再執行函數裡面的程式碼
還是不等data回傳就直接執行函數裡面的程式碼
的呢?
如果是第二種情況,該如何避免異步帶來的困擾呢?
回覆內容:
請問ajax
裡面的回呼函數是返回data再執行函數裡面的程式碼
還是不等data回傳就直接執行函數裡面的程式碼
的呢?
如果是第二種情況,該如何避免異步帶來的困擾呢?
success的回呼函數是data成功返回後要執行的函數,也就是說要得到data之後才會執行
其他情況下的還有像beforeSend(發送前),complete(請求完成後),error(請求出錯)的回調
至於你說的異步帶來的困擾我不太明白,可以舉例說一下嗎?
一定是返回data再去執行函數裡面的程式碼= = 不回傳data就執行= =豈不是等著報錯。
ajax
的全名AJAX = Asynchronous JavaScript and XML
(非同步的 JavaScript 和 XML)。
先回答您的問題,success的情況下,當成功返回data以後,才會執行函數。沒有回來的話,會很乖巧的等待一會兒時間,這個時間通常是網路延遲時間。同時也可以自己設定。
下面以偉大的jquery
框架的ajax
簡單說下。
通常,我會這樣使用,name+value的形式。
<code>$.ajax({name:value, name:value, ... })</code>
async
布林值,表示請求是否非同步處理。預設是 true。 設定為false,你就關閉了異步,此時一次請求,介面會很卡。beforeSend(xhr)
發送請求前運行的函數。cache 布林值,表示瀏覽器是否快取被要求頁面。預設是 true。
complete(xhr,status)
請求完成時運行的函數(在請求成功或失敗之後均調用,即在 success 和 error 函數之後)。contentType 發送資料到伺服器時所使用的內容類型。預設是:"application/x-www-form-urlencoded"。
context 為所有 AJAX 相關的回呼函數規定 "this" 值。
data
規定要傳送到伺服器的資料。dataFilter(data,type) 用於處理 XMLHttpRequest 原始回應資料的函數。
dataType
預期的伺服器回應的資料類型。error(xhr,status,error)
如果請求失敗要運行的函數。global 布林值,規定是否為請求觸發全域 AJAX 事件處理程序。預設是 true。
ifModified 布林值,規定是否僅在最後一次請求以來回應發生變更時才請求成功。預設是 false。
jsonp 在一個 jsonp 中重寫回呼函數的字串。
jsonpCallback 在一個 jsonp 中規定回呼函數的名稱。
password 規定在 HTTP 存取認證請求中使用的密碼。
processData 布林值,規定透過請求傳送的資料是否轉換為查詢字串。預設是 true。
scriptCharset 規定請求的字元集。
success(result,status,xhr)
當請求成功時執行的函數。timeout
設定本地的請求超時時間(以毫秒計)。traditional 布林值,規定是否使用參數序列化的傳統樣式。
type
規定請求的類型(GET 或 POST)。url
規定發送請求的 URL。預設是當前頁面。username 規定在 HTTP 存取認證請求中使用的使用者名稱。 這個可以模擬用戶的登錄,再加上password,你懂的。
xhr 用於建立 XMLHttpRequest 物件的函數。
紅色部分,是我自己常用的。
等你要求的介面成功回應資料以後回呼這個success函數,所以只要你服務端處理正常,data回傳的就是你想要的資料
問題的答案,上面已經說了,我就不重複了,我只是想問一下你說的非同步的困擾有哪些。

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。
