詳解服務(wù)器端代碼將生成 JSON 形式的元數(shù)據(jù)
您可以使用 JavaScript Object Notation(JSON)來(lái)分組和緩存元數(shù)據(jù),并使用 JavaScript 函數(shù)來(lái)訪問(wèn)元數(shù)據(jù)以驗(yàn)證用戶輸入,在本文中,您將了解如何在服務(wù)器代碼的幫助下將元數(shù)據(jù)緩存在客戶端的優(yōu)秀方法,服務(wù)器代碼將提供JSON 形式的字符串化元數(shù)據(jù)。
每個(gè)應(yīng)用程序的開(kāi)發(fā)都是為了解決某個(gè)領(lǐng)域的問(wèn)題。而每個(gè)領(lǐng)域都有自己的一套約束數(shù)據(jù)的規(guī)則和規(guī)范。應(yīng)用程序?qū)⑦@些約束應(yīng)用于數(shù)據(jù)時(shí),約束也就成了驗(yàn)證。所有應(yīng)用程序都需要驗(yàn)證用戶輸入的數(shù)據(jù)。
目前,應(yīng)用程序一般都使用 if-else 語(yǔ)句組合來(lái)驗(yàn)證數(shù)據(jù)。這些語(yǔ)句包含了開(kāi)發(fā)人員硬編碼或通過(guò)服務(wù)器端代碼置入的驗(yàn)證數(shù)據(jù)。通常,開(kāi)發(fā)人員會(huì)使用服務(wù)器端代碼來(lái)避免可能導(dǎo)致 JavaServer Page(JSP)的細(xì)微數(shù)據(jù)更改。#t#
JavaScript 中有分散的元數(shù)據(jù)時(shí),您無(wú)法控制服務(wù)器將評(píng)估多少數(shù)據(jù)以及有多少數(shù)據(jù)傳遞到客戶機(jī)。所有服務(wù)器端代碼片段都將被評(píng)估并發(fā)送到服務(wù)器上。但是,使用 JSON 緩存數(shù)據(jù)時(shí),您可以完全控制向客戶機(jī)發(fā)送的元數(shù)據(jù)量,因?yàn)榉?wù)器端代碼將生成 JSON 形式的元數(shù)據(jù)。這有助于僅將元數(shù)據(jù)發(fā)送至與看到或輸入數(shù)據(jù)的用戶相對(duì)應(yīng)的客戶機(jī)上。
您還可以使用 JSON 來(lái)緩存用戶輸入的數(shù)據(jù)。程序緩存數(shù)據(jù)后,將擦除數(shù)據(jù)字段而不是刷新屏幕,這與 Ajax 類似。通過(guò)這種方法,用戶可以為同一屬性輸入另一組數(shù)據(jù)。讓我們一起來(lái)探究一下如何使用 JSON 來(lái)緩存元數(shù)據(jù)。
使用 JSON(即 JavaScript Object Notation),將以一種特定的字符串形式來(lái)表示 JavaScript 對(duì)象。如果將具有這樣一種形式的字符串賦給任意一個(gè) JavaScript 變量,該變量隨后將引用一個(gè)通過(guò)指定給該變量的字符串構(gòu)建的對(duì)象。
例如,假定有一個(gè) policy 對(duì)象,它擁有以下屬性:計(jì)劃名稱 描述 持續(xù)時(shí)間 您可以使用以下這種 JSON 形式的字符串來(lái)表示該 policy 對(duì)象:{"Plane":{"Full Life Cover"}, "Description":{"The best life insurance plan"}, "Term":{"20 years"}}
如果將此字符串賦給任意一個(gè)JSON 形式,則該變量將接受以這種對(duì)象為單位的數(shù)據(jù)。要訪問(wèn)數(shù)據(jù),請(qǐng)?zhí)峁┬枰L問(wèn)的屬性所在的路徑。對(duì)于本例,將以上字符串賦給一個(gè)名為 policy 的變量:var policy = {"Plane":{"Full Life Cover"}, "Description":{"The best life insurance plan"}, "Term":{"20 years"}} 將此字符串粘貼到 HTML 頁(yè)面的標(biāo)題部分中,然后編寫(xiě)以下警報(bào):alert(policy.Plan) 如果在任何支持 JavaScript 的瀏覽器中查看此頁(yè)面,您都會(huì)看到顯示策略計(jì)劃的警報(bào)。