Javascript 提交帖子請求

| | | |

當我們創建一個 Web 應用程序時,我們不可避免地必須從用戶輸入的數據中創建一些東西。當有人通過註冊表提交他們的信息時,它可能是創建一個新的用戶帳戶,或者為您很棒的新食譜管理器應用程序創建一個新食譜。將用戶數據以某種形式傳遞給保存在數據庫中的新配方實例需要 HTTP POST 請求。

POST 請求是將表單數據發送到它所在的服務器可以在後端或 API 中創建並保存到數據庫中。默認情況下,提交表單需要重定向或頁面刷新。雖然這對小型應用程序非常有用,但我們希望提供更快的加載體驗,因此繞過這種行為

使用 jQuery post() 允許我們發出 HTTP 請求,接收響應並選擇如何在不重定向或更新的情況下全部顯示數據!讓我們仔細看看 post() 應該做什麼。

仔細看看 post()

HTTP 請求就像遊戲。瀏覽器通過 API 端點向服務器發送請求,服務器返迴響應。究竟是什麼message()向端點發送數據會被創建並保存在應用程序的基礎數據中。

綜合以上,我們可以假設post() 接受參數,對嗎?法律! post () 最多需要四個參數,但出於我們的目的,我們關注兩個主要參數:目標 URL 和我們發送到該目標的數據。

$.post (`/recipes`, data )

讓我們以我們的食譜組織應用程序為例,我們將從選擇器 jQuery $。通過調用 post(),我們將數據發送到 `/recipes 的 URL。 到目前為止一切順利。我們已將數據發送到我們的服務器。現在我們正在準備接收答案!

我們作為響應返回的是一個叫做 jQuery XHRjqXHR 的東西,它實現了 Promise 接口. 別擔心!最後一句話聽起來很嚇人,它告訴我們答案只是一個對象。通過方便的jQuery done(),可以將這個對象組織成更易讀的格式

繼續我們的遊戲,我們用post() < /代碼>。我們返回了一個 jqXHR,我們將它傳遞給 done () 以便我們可以看到我們捕獲的內容。現在我們已經詳細了解了 post(),讓我們看看如何使用它。

jQuery post()

首先,我們有一個簡單的 HTML 表單:

這樣顯示模塊:

Screen Shot 2020 11 11 at 9.42. 31 PM 1

通過這個回調函數,我們可以用preventDefault() 停止默認重定向。現在我們不再需要重定向了,我們可以開始向服務器發送數據了。

在我們調用post()數據之前,我們需要數據!我們可以從哪裡獲取這些數據?

我們從表單中獲取數據。由於我們將不再被重定向,我們可以訪問表單文本輸入中的值“Äã”。這個serialize()是怎麼回事?

serialize()方法以我們選擇的關鍵字this<的形式調用/em>。什麼是serialize() 它將表單數據轉換為標準的URL代碼文本字符串,可以發送到服務器。

一旦我們成功序列化了表單數據,我們存儲在變量中:

現在我們有了我們的數據存儲在 values 變量中,現在我們可以將它發送到服務器

還記得 post() 返回 jqXHR 嗎?我們也可以保存為變量並調用 done() 來解壓響應並處理我們在客戶端選擇的內容。

接收到數據後存儲在一個比 recipe 更易讀的變量,我們可以訪問成分的名稱和屬性。例如,我們將這些屬性放在

post() 的一個常見用途是在 .submit() 中作為回調函數。由於 .submit() 是在表單本身調用的,我們可以使用 JavaScript 關鍵字 this 來引用表單中的所有數據和 serialize() 。將數據序列化為一個變量,通常稱為值,我們可以使用 post () 將這些值發送到我們的目標 url。

存儲 jqXHR 對象由 post() 在通常稱為 display 的變量中返回。從那裡,我們在我們的顯示變量上使用 Made scope of main () ,現在我們可以訪問已響應的服務器數據。現在由您決定如何向您的用戶顯示數據。

拿起一個我在撒謊的 mo,祝賀您完成了複雜的 post () 過程!如果您正處於構建應用程序的這個階段,請記住確實會發生錯誤。保持冷靜調試!



Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method