資料後台與前端展現

2022-09-15 13:24:12 字數 2292 閱讀 5897

現在很多web服務,都是前端展現與後端資料放在不同的內部伺服器上。其結構為

1.那些資料可以在html,js中存在

a.為了安全性,避免隱私資料存在

b.如果僅僅為了儲存一些資料,然後在互動的時候使用,該不該存在?如果不儲存這個資料,那麼必須到後台去取。

2.那些資料可以在業務邏輯,即前端**的後台存在?

那些資料會需要暫存到前端的後台嗎?

我覺得一些不會更改的,資料字典型別的資料可以暫存到前端,應該這個資料是基本永遠不會變的,而僅僅對資料起到解釋的作用,

a.比如資料表中的字段在介面應該顯示為什麼名字等等,

b.有多少個型別的物件,物件可以變,物件型別不會變

c.或者使用memcache,讓它自動的優化那些該臨時存放。

這些資料通用(使用次數多),不變,不易展示於html與js裡面(能被瀏覽器直接看到),所以放到前端站點的後台。

3.資料服務的資料是什麼

一般是基於資料庫提供json的資料傳輸。

a.採用bootstrap-table,查詢為form的ajax查詢的重新整理資料。服務端分頁(載入資料量為乙個頁面的資料,翻頁要請求後台),

b.**的標題顯示:**標題就直接寫在html中,寫在後台沒有必要,這個是很難標準化的。

c.**內容顯示:這個涉及資料字典,查詢出來的是資料庫裡面的資料,有時候需要將裡面的資料轉化一下,比如某個狀態的英文本轉為中文表示。轉化如果發生的在後台,就需要對查詢列表再次遍歷,然後轉化,增加了後台工作量;發生在前台,則計算壓力在js。(django裡面有語言translate模組,這裡假設這種狀態轉化不能通過django裡面翻譯模組實現。因為同樣字串在不同資料表裡面代表不同意思,所以在前端展現也不一致。)

一般來說,在後台寫上資料字典,為了保持一致性,所以資料字典的定義可以在web應用中使用乙個模組定義,而頁面邏輯可以繼承該模組,獲取所使用**的資料字典。前台使用js函式轉化。資料字典的定義不必寫在前台,這樣前台的js轉化函式可以復用。不過客戶可以通過方法看到原始資料庫裡面的資料。

後台,給資料結構傳遞給context,並且傳遞tablename 的字串,設定為bootstrap-table的table標籤 id,以及組合成查詢條件form 的id;這樣就會使得**極度復用。

def

data_define():

table_dict=

},"table2":}}

return table_dict

前台引用該資料結構解釋某個字段

function

translate_field(value,row)}

field_def=current_table[this

.field]

return

field_def[value]

}

web應用包括前台介面以及後台頁面處理,部分業務處理,以及需要向後台傳送api應用傳送請求

a.html以及後台頁面處理:html頁面功能為展現,前端驗證使用者輸入,根據狀態決定控制邏輯。後台直接處理該頁面請求的函式,應該只涉及前台頁面輸入驗證,或者查詢其他模組請求獲取用於展示的資料。不要寫可能會被復用的處理邏輯,不要寫別的系統性的體系中的零件。直接在這塊裡面寫複雜邏輯會使得**分散,比如**控制,此類邏輯應該用乙個專門的模組來處理,而非分散在各個頁面處理**中。由於**控制是乙個整體,而且很可能體系會進行變換,分散的**將使得維護變得困難。  

b.請求api的資料:為了使得程式更加分布式,向資料庫處理的應用是獨立的,高效能的。部署在集群當中。web應用向api請求資料。我覺得應該就api的每個介面都統一寫成函式呼叫。而不是,每次請求api就需要自己寫乙個url請求的**。然後判斷返回值之類的。因為這類的請求會多次發生,會被前端url直接呼叫,也可能被web的後台呼叫。所以寫成函式,大家都能夠很方便呼叫,不容易出錯。

c.ajax請求處理:所有ajax請求都會對接收到的反饋進行處理,而對錯誤也進行反饋。如果希望所有處理保持一致,那麼對於success的ajax請求應該使用建立單獨的函式提供每次success呼叫;同樣error處理相同。這樣希望替換某種出錯處理提示內容樣式,不需要去每個ajax請求中尋找,只需要更改單獨的函式。基本每個出錯提示資訊顯示樣式都相同,不同只是文字內容。

d.模組獨立可執行,獨立可測試:多個模組的程式組合的情況下,在web中,需要呼叫其他web應用的介面什麼的,為了保證自己的模組獨立可測試,在引用其他模組的時候,加上try 再import,否則程式引用一多,很可能程式上線組合完成,再除錯不了。因為可能東西揉合在一塊了,必須保證單獨模組的獨立可執行。獨立可測試。

web前端與後台資料互動

1.前端請求資料url由誰來寫?在開發中,url主要是由後台來寫的,寫好了給前端開發者.如果後台在查詢資料,需要借助查詢條件才能查詢到前端需要的資料時,這時後台會要求前端提供相關的查詢引數,這裡的查詢引數也就是url請求的引數。2.介面文件主要由誰來寫?介面文件也是主要由後台開發者來寫的,因為直接跟...

web前端與後台資料互動

1.前端請求資料url由誰來寫?在開發中,url主要是由後台來寫的,寫好了給前端開發者.如果後台在查詢資料,需要借助查詢條件才能查詢到前端需要的資料時,這時後台會要求前端提供相關的查詢引數,這裡的查詢引數也就是url請求的引數。2.介面文件主要由誰來寫?介面文件也是主要由後台開發者來寫的,因為直接跟...

Ajax 前端與後台互動

整體的思路和邏輯是這樣的 我需要獲取使用者名稱和密碼,將使用者名稱和密碼組合成乙個物件,傳給後台伺服器後台伺服器會進行匹配將返回來的資料給前端,前端根據返回的資料判斷是否成功登陸。以下是通過ajax實現這個過程 url 代表登入功能需要訪問的介面 method 代表前端是需要向伺服器傳送資料 pos...