淺析前後端數據交互

2020-12-13 人人都是產品經理

想要做好網際網路產品的設計,就要對一些基本的技術實現原理有所了解,本文將對網際網路產品的前後臺數據交互做一個小的總結。(技術大神輕噴)

HTTP協議

前後臺交互的協議不只有HTTP協議,本文僅以HTTP協議為例。

HTTP協議即超文本傳輸協議,是網際網路上應用最為廣泛的一種網絡協議。HTTP是一個客戶端和伺服器端請求和應答的標準。

HTTP協議簡單(屬於TCP協議族),使得HTTP伺服器的程序規模小,因而通信速度很快。客戶向伺服器請求服務時,只需傳送請求方法和路徑。而且,HTTP允許傳輸任意類型的數據對象。

關於HTTP協議只做簡單介紹,知道網際網路產品的前後端數據交互是通過一個通訊協議(不僅限於HTTP)完成的即可。

接口

在網際網路領域裡面,這個詞在不同場景下都會出現 ,經常聽到工程師說「 讓後臺給我提供一個接口,我直接調用這個接口 」「 這裡你設計一個接口,我來實現 」,接口就是提供具體能力的一個標準和抽象,是一些預先定義的函數,包括接口地址、傳入參數和返回參數和數據。可以簡單理解為,當需要訪問某些數據,正常狀態下傳入合格參數,會收到該數據範圍內的返回參數。前後臺的交互基本都是通過程序接口實現的。

數據交互的過程可簡單理解為,前臺想要獲得某些數據,將傳入參數通過URL接口地址,傳遞給伺服器,伺服器根據傳入的參數了解到前臺要獲得什麼數據,去資料庫查詢獲取數據,然後將所需數據返回給前臺,前臺拿到數據做相應的頁面展示。

JSON

JSON(JavaScript Object Notation,) 是一種輕量級的數據交換格式,採用完全獨立於程式語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。 易於閱讀和編寫,同時也易於機器解析和生成,並有效地提升網絡傳輸效率。

前後端交互時傳遞數據的格式,就是JSON格式的,當然也有XML格式。JSON數據格式很好理解,舉個例子:

{ 「姓名」:」流年」「性別」:」男」「興趣愛好」:」聽音樂」}這就是 JSON鍵/值對。

實例解析1

這是一個APP的頁面,前端會把它分為3個部分去分別請求數據,即:

banner部分課程種類部分熱門好課部分

(1)banner部分

前臺需要今天產品的最新圖片地址。URL中的參數主要是根據後臺需要,如果後臺需要前端傳遞一個時間戳才能夠查詢到具體的圖片信息,那麼前端在數據請求時請求參數就應該包含時間的參數,代碼如下:

前臺部分:

代碼解析:

http: #協議頭,跟後臺交互需要基於HTTP協議。www.heiheihei.com #域名也叫主機名(heiheihei是我亂起的)。/GetPicture.php #路徑,也就是能給前臺數據的路徑。?time=」2017-11-23 00:00:00″ #參數,帶著這個參數給伺服器,伺服器就會把2017年11月23日零時0分0秒的banner查詢到並且返給前端。

後端部分:

select 「輪播圖片」 from picture where time = 「2017-11-23 00:00:00」

代碼解析:

資料庫查詢語句,去資料庫裡面去查找相應的數據表,查詢條件就是前端傳遞過來的URL參數time。

(2)課程種類部分

此部分包含兩部分內容,即圖片和標題。這些內容在後臺資料庫表中,後臺只需要設計個URL給前端,讓前端直接發訪問就可以了:

(3)熱門好課部分

此部分也是包含圖片和標題。前端把這些信息告知後臺,後臺看到這些信息後,會去相對應的資料庫去查詢,如果這些數據後臺很容易獲取到,會直接給個URL給前端。否則就需要前端通過URL來傳遞一些參數。比如:

總結來說:所有前端請求的URL後面的參數,都是輔助後臺數據查詢的。如果不需要參數,那麼後臺就會直接給個URL給前端。

實例解析2

這是一個網站的登錄功能,我們通過ajax(可以在不重新加載整個頁面的情況下,與伺服器交換數據並更新部分網頁)加載伺服器數據的過程再來體驗一下前後臺數據交互的過程。

我們先給登錄名和登錄密碼的文本框起兩個名字,即UserName,PassWord。

前端代碼(解析)如下:

$.ajax({『url』:』login.php』, #和之前的URL一樣,前端把參數傳遞到什麼位置『data』:{「username」:$(『#UserName』).val,」PassWord」:$(『#password』).val,}, #前端傳遞給後端的數據(用戶名和密碼)『success』:function(data){} #伺服器返回數據成功的時候,前端需要如何操作(data中存的就是伺服器返回的數據)『type』:』post』 #數據傳輸的方法『dataType』:』json』 #傳遞數據的類型,JSON});

我們不用關心function(data)函數中具體的代碼,無非就是:前端頁面展示用戶的用戶名、頁面狀態變為已登錄、展示用戶相關數據等。

後端代碼過於複雜,我就不展示了,總之後端要做的處理就是:拿到前端傳遞過來的數據(用戶名和密碼)和資料庫中用戶信息做比對,如果一致則返回給前臺一個狀態,並且返回用戶的相關數據(暱稱、個人信息、購物車信息、收藏的商品等等),這些數據同樣是以JSON的形式傳回給前端。如果用戶名或密碼不一致,也返回給前端一個狀態。前端根據得到的狀態做出頁面的相應效果:登錄按鈕變為退出、顯示用戶暱稱、顯示購物車信息、顯示收藏信息、登錄框隱藏等,如果用戶名密碼不匹配則顯示相應的提示信息。

以上就是網站通過ajax技術完成的前後端數據交互過程。

你學會了嗎?

作者:流年,網際網路產品設計師,4年網際網路產品設計經驗。

本文由 @流年 原創發布於人人都是產品經理。未經許可,禁止轉載。

相關焦點

  • python前端和後端數據交互,tornado框架入門,初學小試牛刀!
    Python前端和後端是如何交互的,怎麼用tornado框架快速搭建前端和後端數據交互?前端與後端的數據交互,最常用的就是GET、POST,比較常用的用法是:提交表單數據到後端,後端返回json前端的數據發送與接收1)提交表單數據2)提交JSON數據後端的數據接收與響應
  • 前後端交互接口設計規範
    1、後端設計統一的返回模型在與前端的交互過程中,我們最好統一一個通用的對象模型,避免一個接口返回一個模型,減少前端同學繁雜的工作量和溝通成本,類似如下:code為返回的編碼,一般分為成功的編碼和錯誤的編碼,比如code=200為請求成功,非200為失敗,在失敗的情況下message
  • 快速了解前後端數據交互,及實現原理
    是一款開源的輕量級的web伺服器,也可以理解成為中間件簡單理解為:前端瀏覽器發出的http請求經過tomcat中間件,向後端資料庫要數據,資料庫再通過tomcat返回給前端瀏覽器2.什麼是http協議?
  • 後端開發新手/小白學習之-前後端如何交互詳解和重點學習
    WampServer;代碼編輯器:notepad++;自行下載安裝;傻瓜式安裝,安裝完以後www文件夾下新建項目testPro,如圖:Ps:1,完全沒有基礎的新手,就不要在這個點上糾結用哪種集成開發環境軟體性能更好了,等你達到一定程度,想用什麼就用什麼;2,後端開發
  • 楊浦UI互動設計培訓班淺析新手學習UI互動設計誤區
    ①學習過於片面,知識體系不完整之前UI互動設計培訓老師說過了,軟體基礎、設計理論、項目實戰都是不可或缺的拼圖。但是UI互動設計培訓老師認為3.0對工作起不到太大作用,把時間放到了遊戲界面設計的學習上。後來,因為蘋果手機火爆,flash徹底涼了,actionscript3.0語言徹底沒了用武之地。而UI設計火了,遊戲界面設計很便捷就轉到了手機界面設計上。再比如2020年流行的顏色是經典藍,很漂亮。但是也不能亂套,兒童類行業可能就不合適。
  • 產品經理需要了解的前後端知識點
    JavaScript與前兩者性質不同,其本質是一門程式語言。這三門語言,相互耦合,並非獨立。CSS必須與HTML配合,JavaScript邏輯需藉助HTML和CSS直觀地展示給用戶。1.2 軟技能前端工程師是直接面向用戶的,良好的用戶體驗是一個Web產品的基本要素。此處我們討論的用戶體驗並非交互方案或視覺設計,這些事是UI、UE的工作。
  • 前後端分離利器-MockJS簡介
    概要前後端分離對web開發以及不算是一件新鮮事了,在開發初期前後端可以先溝通並制定好數據的交互接口,而前後端可以憑藉著制定好的數據接口實現兩者的並行開發。我們可以通過使用MockJS模擬後端數據接口返回數據實現並行開發。
  • 移動APP設計入門級:真實的前後端原型長啥樣?
    原型內容基本包括:流程圖、頁面展示、欄位說明、交互操作、規則說明、特殊備註等。業務流程圖:比較簡單的頁面,可直接在頁面上標註內容、條件、交互及具體說明。移動APP的後端核心功能集中在數據類或業務操作類,該APP主要功能是實現某類商城的在線訂購、訂單售後等目的,而後端主要用戶是平臺運營人員,核心目標是對前端訂單進行操作,因此後端設計的重點就在於:
  • 你離不開的點讚:淺析「點讚」功能的互動設計
    「點讚」,可以毫不誇張地說是移動網際網路和社交媒體時代最熱門的交互方式。筆者關注到這一現象,並研究數款熱門APP的點讚體驗對比,淺析「點讚」功能的互動設計。
  • 前端和後端哪個工資高?
    IT行業的前端和後端哪個行業工資會更高一點兒呢?這個問題對於想要進入這個行業的人可能是有些不太清楚的,今天就詳細來說一下前端和後端的薪資情況。在整體這個行業上,大部分人都會覺得後端的薪資會比前端的要高,光從數據上看是沒有問題的。但是由於前端的反正沒有後端早,前端主要是10年左右才開始快速發展。在高級工程師上數量來說肯定是後端的工程師數量更多,整體的薪資也會更高一點兒,但是具體隨著工作時間的薪資變化是什麼樣的呢?
  • 2020還分不清前端和後端的差別?看這篇就夠了
    什麼是前端什麼是後端?前端即網站前臺部分,運行在PC端,移動端等瀏覽器上展現給用戶瀏覽的網頁。多數後端開發人員從事於構建工作應用程式背後的實際邏輯。前後端需要相互配合,共同完成一個項目。接下來千鋒廣州小編帶你一起來了解什麼是前端什麼是後端技術:一、什麼是前端開發?
  • web前端與後臺數據交互很難?馬上告訴你如何搞定
    接口文檔也是主要由後臺開發者來寫的,因為直接跟數據打交道的就是後臺,後臺是最清楚,資料庫裡面有什麼數據,能返回什麼數據.前端開發只是數據的被動接受者。所以接口文檔也主要是由後臺來完成的,前端只是接口文檔的使用者,使用過程中,發現返回的數據不對,則需要跟後臺進行商量,由後臺來修改。
  • 虹口UI互動設計培訓班解讀UI互動設計的學習路線
    非凡教育UI互動設計培訓老師發現很多小白萌新都會有這樣的疑問,交互前景很美好,可是自己該從哪入手?下一步該學些什麼?網際網路公司對設計的要求標準是什麼?同一家公司為什麼設計師收入相差卻很大?這些都是各位小白們會面臨的切實問題。
  • 前端和後端哪個工資高,哪個比較好學-開課吧
    零基礎學編程Web前端:web前端開發主要是通過html、css、js、ajax、DOM等前端技術,實現網站在客服端的正確顯示及交互功能簡單來說就是我們平常看到的網頁頁面,主要工作就是設計頁面的顯示框架,包括網頁的色彩、字體大小、一些上一頁下一頁等交互按鈕等。後端:用過軟體或應用的人都知道,我們將簡單地將用戶分為看得見和看不見兩類。
  • web前端和後端的區別 web前端開發薪資
    web前端和後端的區別 Web前端: 顧名思義是來做Web的前端的。我們這裡所說的前端泛指Web前端,也就是在Web應用中用戶可以看得見碰得著的東西。包括Web頁面的結構、Web的外觀視覺表現以及Web層面的交互實現。
  • 轉崗交互前,我做了哪些準備(下)
    另外,不管是交互還是UI,我都非常提倡大家要善於和研發工程師溝通,他們會讓我們的交互邏輯更嚴謹,能幫助我們考慮到前端與後端的交互體驗,多數新手互動設計師只考慮到前端效果,而忽略了後端數據,導致最終交付到用戶手中出現一些本該避免的性能問題,所以我們考慮的可用性,通常只站在用戶使用的維度,而不是數據交互的維度,其實可用性優劣和用戶使用體驗,也和工程師的技術邏輯方面有著不可分割的關係,比如你產品的任務流和表現層都做的很人性化
  • 17家前後端齊聚酷家樂總部,「全屋定製開發者生態」江湖已定
    酷家樂董事長黃曉煌和生態夥伴交流前後端對接的落地涉及產業鏈上下遊各環節的軟體企業,牽一髮而動全身。因格軟體總經理 羅斌(酷家樂&因格&博因格軟體總經理羅斌透露,酷家樂和因格軟體已全面實現前後端打通,實現數據的對接和共享。
  • 從後端開發轉職前端開發,我學到了什麼?
    特別是當你已經習慣了後端開發的工作模式,習慣了構建數據結構,編寫類似於測試驅動開發的測試,習慣了使用持久層、倉庫和資料庫圖表,以及給前端創建API接口。凡此種種,不勝枚舉。後端有其複雜性,所以大部分人沒有時間學習前端開發的內部運作方式。我也是。
  • 程式設計師那些事,前端和後端到底是什麼意思?網際網路知識大揭秘2
    那麼常聽到程式設計師說到前端、後端,他們到底代表了什麼意思呢?1、前端開發前端對於網站來說,指的就是網站的前臺部分,包含網站的表現層和結構層。通俗來說:就是我們用戶可以直接看到的界面。所以前端開發要做的,就是把界面按要求製作出來,並有充足的交互,怎麼讓用戶使用起來舒服。
  • 長沙黑馬程式設計師:轉行IT,首先你得分得清前端、後端、全棧!
    這也是目前很多非科班出身的同學為了搭上網際網路的快車開始學習編程的原因,但是對於很多轉行IT的人來講,「前端、後端、全棧」這三個的概念非常模糊,很多人不清楚前端、後端、全棧到底指的是什麼?前端的工作內容就是將美工設計的效果圖的設計成瀏覽器可以運行的網頁,並配合後端做網頁的數據顯示和交互等可視方面的工作內容。使用這些技術,前端開發者能連接起網站設計者和後端開發者之間的橋梁。他們能提供用戶體驗方面的分析,構建模型和線框,給設計團隊提出建議。他們能給後端編寫的服務應用賦予生命,提升格調,營造美感。