新聞中心
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,前端開發(fā)越來越受到重視。JavaScript作為前端開發(fā)的基礎(chǔ),其使用范圍也越來越廣泛。其中,使用ON作為數(shù)據(jù)庫存儲數(shù)據(jù)已經(jīng)成為一種流行的方式,本文將詳細(xì)介紹在。

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的瓦房店網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
什么是ON?
ON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式。它基于JavaScript語言部分語法,但與之不同的是,它不僅支持JavaScript語言,還支持多種編程語言。ON使用文本格式存儲數(shù)據(jù),具有解析速度快、易于閱讀理解等優(yōu)點,成為前端開發(fā)中最常見的數(shù)據(jù)傳輸格式。
ON數(shù)據(jù)庫是指基于ON格式存儲數(shù)據(jù)的一種數(shù)據(jù)庫,它是以O(shè)N為底層協(xié)議在服務(wù)器上運行的。使用ON數(shù)據(jù)庫可以方便的存儲、獲取和更新數(shù)據(jù),從而提高了前端開發(fā)的效率。
如何使用ON數(shù)據(jù)庫?
在JavaScript中使用ON數(shù)據(jù)庫,一般需要引入相關(guān)的庫。目前比較流行的ON庫有jQuery、Lodash等,這里我們以使用Lodash庫為例。
1. 下載Lodash庫:將Lodash庫下載到本地,然后在HTML文檔中引入該庫;
2. 創(chuàng)建數(shù)據(jù):創(chuàng)建一個數(shù)據(jù)對象,用于存儲所需數(shù)據(jù)。
“`
var people = [
{ name: ‘John’, age: 25 },
{ name: ‘Mike’, age: 30 },
{ name: ‘Lisa’, age: 28 }
];
“`
3. 將數(shù)據(jù)轉(zhuǎn)換為ON格式:使用 Lodash庫的 _.ON.stringify() 方法將上述數(shù)據(jù)轉(zhuǎn)換為ON格式的字符串。
“`
var peopleON = _.ON.stringify(people);
“`
4. 保存數(shù)據(jù):使用Windows.localStorage或者Cookies保存ON格式的數(shù)據(jù)。
“`
// 使用 localStorage 保存數(shù)據(jù)
localStorage.setItem(‘people’, peopleON);
// 使用 Cookies 保存數(shù)據(jù)
Cookies.set(‘people’, peopleON);
“`
5. 獲取數(shù)據(jù):使用Windows.localStorage或者Cookies獲取ON格式的數(shù)據(jù)。
“`
// 使用 localStorage 獲取數(shù)據(jù)
var peopleON = localStorage.getItem(‘people’);
var people = _.ON.parse(peopleON);
// 使用 Cookies 獲取數(shù)據(jù)
var peopleON = Cookies.get(‘people’);
var people = _.ON.parse(peopleON);
“`
6. 更新數(shù)據(jù):使用 _.findIndex() 方法找到需要更新的數(shù)據(jù)索引,然后使用Lodash庫的 _.assign() 方法更新相關(guān)數(shù)據(jù)。
“`
// 更新 Mike 的年齡為 32
var index = _.findIndex(people, { name: ‘Mike’ });
_.assign(people[index], { age: 32 });
var peopleON = _.ON.stringify(people);
“`
本文介紹了在,通過Lodash庫,我們可以輕松地存儲、獲取和更新數(shù)據(jù)。當(dāng)然,在實際開發(fā)中,我們還可以使用其他的庫或者自己編寫代碼實現(xiàn)ON數(shù)據(jù)庫的操作。無論使用何種方式,ON數(shù)據(jù)庫的應(yīng)用都大大方便了前端開發(fā)。
相關(guān)問題拓展閱讀:
- 怎么用jsp生成json格式數(shù)據(jù),然后用js又怎樣讀取其數(shù)據(jù)?
怎么用jsp生成json格式數(shù)據(jù),然后用js又怎樣讀取其數(shù)據(jù)?
AJAX 是與服務(wù)器交換數(shù)據(jù)的藝術(shù),它在不重載全部頁面的情況下,實現(xiàn)了對部分網(wǎng)頁的更新。jQuery作為一個優(yōu)秀的前端框架,也完美的支持了Ajax功能。通過 jQuery AJAX 方法,能夠使用 HTTP Get 和 HTTP Post 從遠(yuǎn)程服務(wù)器上請求文本、HTML、鋒配XML 或 ON – 同時您能夠把這些外部數(shù)據(jù)直接載入網(wǎng)頁的被選元素中。編寫常規(guī)的 AJAX 代碼并不容易,因為不同的瀏覽器對 AJAX 的實現(xiàn)并不相同。這意味著你必須編寫額外的代碼對瀏覽器進行測試。不過,jQuery 團隊為我們解決了這個難題,我們只需要一行簡單的代碼,就可以實現(xiàn) AJAX 功能。
jQuery提供的Ajax方法主要有:
load(url,,):加載html等文本文件getON(url,,):加載ON數(shù)據(jù)getScript(url,):加載js文件get(url,,,):GET方式請求數(shù)據(jù)post(url,,,):POST方式請求數(shù)據(jù)serialize():格式化表單數(shù)據(jù)ajax():ajax原始請求函數(shù)ajaxSetup():設(shè)置ajax全局參數(shù) // ajax全局事件有以下6個:
ajaxStart()ajaxStop()ajaxSend()ajaxComplete()ajaxError()ajaxSuccess()
load()方法
load()方法可以方便的獲取異步數(shù)據(jù),url是指服務(wù)器上的文件地址,data是發(fā)送到服務(wù)器的數(shù)據(jù),callback是指加載成功后調(diào)用的回調(diào)函數(shù)。
舉例:
$(“button1”).click(function(){
$(“#divTip”).load(“b.html”);
})
這樣就把b.html中的數(shù)據(jù)直接賦值給名為divTip的div。
getON方法
getON()方法可以直接調(diào)用ON格式數(shù)據(jù),加載后可以直接進行遍歷ON數(shù)據(jù),進行相應(yīng)的處理。
舉例:
$.getON( “ajax/test.json”,function( data ) {
varitems = ;
$.each( data, function( key,val ) {
items.push( “
” + val +”
” ); }); });
在獲取到test.json后,通過each()方法對data進行遍歷,獲取ON中的數(shù)據(jù),然后進行相應(yīng)的處理。
getScript()方法
通過getScript()方法獲取.js文件,不但可以輕松的注入腳本,并且注入的腳本自動執(zhí)行,大大提高了頁面的執(zhí)行效率。
舉例:
$(“button”).click(function(){
$.getScript(“/example/jquery/demo_ajax_script.js”);
});
demo_ajax_script.js文件內(nèi)容
?
alert(“This JavaScript alert wasloaded by AJAX”);
當(dāng)調(diào)用getScript()方法后,會彈出一個對話框,如下所示:
get()方法
之前的幾個方法分別處理了html、ON、格式的文件,但我們也經(jīng)常需要加載XML格式的數(shù)據(jù)。
我們大家都知道,兩種在客戶端和服務(wù)器端進行請求-響應(yīng)的常用方法是:GET 和 POST。
l GET – 從指定的資源請求數(shù)據(jù)
l POST – 向指定的資源提交要處理的數(shù)據(jù)
GET 基本上用于從服務(wù)器獲桐基升得(取回)數(shù)據(jù)。注釋局老:GET方法可能返回緩存數(shù)據(jù)。
get()語法:
$(selector).get(url,data,success(response,status,xhr),dataType)
參數(shù)
描述
url
必需。規(guī)定將請求發(fā)送的哪個 URL。
data
可選。規(guī)定連同請求發(fā)送到服務(wù)器的數(shù)據(jù)。
success(response,status,xhr)
可選。規(guī)定當(dāng)請求成功時運行的函數(shù)。
額外的參數(shù):
· response – 包含來自請求的結(jié)果數(shù)據(jù)
· status – 包含請求的狀態(tài)
· xhr – 包含 XMLHttpRequest 對象
dataType
可選。規(guī)定預(yù)計的服務(wù)器響應(yīng)的數(shù)據(jù)類型。
默認(rèn)地,jQuery 將智能判斷。
可能的類型:
· “xml”
· “html”
· “text”
· “script”
· “json”
· “jsonp”
舉例:
$.get(“test.xml”, { name:”John”, time: “2pm” },
function(data){
alert(“Data Loaded: ” + data);
});
post()方法
post()方法本質(zhì)上與get()方法本質(zhì)上沒有太大區(qū)別,但是GET方式不適合傳遞數(shù)據(jù)量較大的數(shù)據(jù),同時,其請求的歷史信息會保存在瀏覽器的緩存里,有一定風(fēng)險。而以POST方式向服務(wù)器發(fā)送數(shù)據(jù)請求,則不存在這兩個方面的不足。
語法
$.post(url,data,success(data, textStatus,jqXHR),dataType)
舉例:
$.post(“demo_ajax_gethint.asp”,{suggest:txt},function(result){
$(“span”).html(result);
});
serialize()方法
serialize()方法也是一個非常有用的函數(shù),它可以直接將表單中的數(shù)據(jù)轉(zhuǎn)化為能隨Ajax傳遞的字符串,即序列化所選的DOM元素,作為發(fā)送ajax請求時發(fā)送的數(shù)據(jù)。
語法
$(selector).serialize()
舉例
$.post(“User_Info.aspx”, $(“#frmUserInfo”).serialize(),function(data){
$(“#divTip”).html(data);
});
ajax()方法
除了以上像get()、post()、load()等方法以外,jQuery還提供了更為強悍的底層函數(shù)ajax(),該方法不僅可以很方便地實現(xiàn)上述三個全局函數(shù)完成的功能,還更多的關(guān)注實現(xiàn)過程中的細(xì)節(jié)。
ajax()語法:
$.ajax()
options參數(shù)如下所示:
參數(shù)名
類型
描述
url
String
(默認(rèn): 當(dāng)前頁地址) 發(fā)送請求的地址。
type
String
(默認(rèn): “GET”) 請求方式 (“POST” 或 “GET”), 默認(rèn)為 “GET”。注意:其它 HTTP 請求方法,如 PUT 和 Delete 也可以使用,但僅部分瀏覽器支持。
timeout
Number
設(shè)置請求超時時間(毫秒)。此設(shè)置將覆蓋全局設(shè)置。
async
Boolean
(默認(rèn): true) 默認(rèn)設(shè)置下,所有請求均為異步請求。如果需要發(fā)送同步請求,請將此選項設(shè)置為 false。注意,同步請求將鎖住瀏覽器,用戶其它操作必須等待請求完成才可以執(zhí)行。
beforeSend
Function
發(fā)送請求前可修改 XMLHttpRequest 對象的函數(shù),如添加自定義 HTTP 頭。XMLHttpRequest 對象是唯一的參數(shù)。
function (XMLHttpRequest) {this; // the options for this ajax request}
cache
Boolean
(默認(rèn): true) jQuery 1.2 新功能,設(shè)置為 false 將不會從瀏覽器緩存中加載請求信息。
complete
Function
請求完成后回調(diào)函數(shù) (請求成功或失敗時均調(diào)用)。參數(shù): XMLHttpRequest 對象,成功信息字符串。
function (XMLHttpRequest, textStatus) {this; // the options for this ajax request}
contentType
String
(默認(rèn): “application/x-www-form-urlencoded”) 發(fā)送信息至服務(wù)器時內(nèi)容編碼類型。默認(rèn)值適合大多數(shù)應(yīng)用場合。
data
Object,String
發(fā)送到服務(wù)器的數(shù)據(jù)。將自動轉(zhuǎn)換為請求字符串格式。GET 請求中將附加在 URL 后。查看 processData 選項說明以禁止此自動轉(zhuǎn)換。必須為 Key/Value 格式。如果為數(shù)組,jQuery 將自動為不同值對應(yīng)同一個名稱。如 {foo:} 轉(zhuǎn)換為 ‘&foo=bar1&foo=bar2’。
dataType
String
預(yù)期服務(wù)器返回的數(shù)據(jù)類型。如果不指定,jQuery 將自動根據(jù) HTTP 包 MIME 信息返回 responseXML 或 responseText,并作為回調(diào)函數(shù)參數(shù)傳遞,可用值:
“xml”: 返回 XML 文檔,可用 jQuery 處理。
“html”: 返回純文本 HTML 信息;包含 script 元素。
“script”: 返回純文本 JavaScript 代碼。不會自動緩存結(jié)果。
“json”: 返回 ON 數(shù)據(jù) 。
“jsonp”: ONP 格式。使用 ONP 形式調(diào)用函數(shù)時,如 “myurl?callback=?” jQuery 將自動替換 ? 為正確的函數(shù)名,以執(zhí)行回調(diào)函數(shù)。
error
Function
(默認(rèn): 自動判斷 (xml 或 html)) 請求失敗時將調(diào)用此方法。這個方法有三個參數(shù):XMLHttpRequest 對象,錯誤信息,(可能)捕獲的錯誤對象。
function (XMLHttpRequest, textStatus, errorThrown) {// 通常情況下textStatus和errorThown只有其中一個有值this; // the options for this ajax request}
global
Boolean
(默認(rèn): true) 是否觸發(fā)全局 AJAX 事件。設(shè)置為 false 將不會觸發(fā)全局 AJAX 事件,如 ajaxStart 或 ajaxStop ??捎糜诳刂撇煌腁jax事件
ifModified
Boolean
(默認(rèn): false) 僅在服務(wù)器數(shù)據(jù)改變時獲取新數(shù)據(jù)。使用 HTTP 包 Last-Modified 頭信息判斷。
processData
Boolean
(默認(rèn): true) 默認(rèn)情況下,發(fā)送的數(shù)據(jù)將被轉(zhuǎn)換為對象(技術(shù)上講并非字符串) 以配合默認(rèn)內(nèi)容類型 “application/x-www-form-urlencoded”。如果要發(fā)送 DOM 樹信息或其它不希望轉(zhuǎn)換的信息,請設(shè)置為 false。
success
Function
請求成功后回調(diào)函數(shù)。這個方法有兩個參數(shù):服務(wù)器返回數(shù)據(jù),返回狀態(tài)
function (data, textStatus) {// data could be xmlDoc, jsonObj, html, text, etc…this; // the options for this ajax request}
舉例,獲取博客園首頁的文章題目:
$.ajax({
type: “get”,
url:”
“,
beforeSend: function(XMLHttpRequest){
//ShowLoading();
},
success: function(data, textStatus){
$(“.ajax.ajaxResult”).html(“”);
$(“item”,data).each(function(i,domEle){
$(“.ajax.ajaxResult”).append(“
“+$(domEle).children(“title”).text()+”
“); }); }, complete: function(XMLHttpRequest,textStatus){ //HideLoading(); }, error: function(){ //請求出錯處理 } });
ajaxSetup()方法
用來設(shè)置全局的Ajax。在使用$.ajax()時,有時需要調(diào)用多個$.ajax()方法,如果每個方法都設(shè)置其中的請求細(xì)節(jié),將會是一件十分麻煩的事,這就需要ajaxSetup的輔助。
舉例:
$.ajaxSetup({
type:”GET”,
url:”UserInfo.xml”,
dataType:”xml”
})
設(shè)置了ajax()方法請求的方式為GET,數(shù)據(jù)地質(zhì)為UserInfo.xml,返回數(shù)據(jù)類型為xml
ajax事件
jQuery中提供了6個全局的ajax事件,詳細(xì)如下所述:
ajaxStart 全局事件
開始新的Ajax請求,并且此時沒有其他ajax請求正在進行。
ajaxSend 全局事件
請求開始前觸發(fā)的全局事件
ajaxSuccess 全局事件
全局的請求成功
ajaxError 全局事件
全局的發(fā)生錯誤時觸發(fā)
ajaxComplete 全局事件
全局的請求完成時觸發(fā)
ajaxStop 全局事件
當(dāng)沒有Ajax正在進行中的時候,觸發(fā)。
舉例
$(“#divTip”).ajaxStart(function(){
$(this).show();
});
用jsp生成json要經(jīng)過一下步驟:
1、瀏覽器請求服務(wù)端某個頁面
2、服務(wù)端頁面(jsp/php/asp等)生成頁面數(shù)據(jù)(html/css/js/json等)
3、瀏覽器顯示頁面內(nèi)容,執(zhí)行頁面腳本
jsp生困御弊成數(shù)據(jù)示例如下:
// 例子使用fastjson
List names = new LinkedList(); // 任意Collection都可拆頌以
names.add(“張三”);
names.add(“李四”);
ONObject value= new ONObject();
value.put(“names”, names); 汪族// 這樣就放了一個數(shù)組了
value.put(“id”, “123456”); // 放一個字符串
System.out.println(value.toONString());//
js解析json數(shù)據(jù)示例如下:
// 解析json數(shù)據(jù)
// 如果jsong數(shù)據(jù)是一個字符串
var myjson=eval(“(“+myjsonstring+”)”)
alert(myjson.id)
alert(myjson.names.length)
jsp生成:
ONObject obj = new ONObject();
obj.put( “name” , “feiniu5566”);
obj.put( “age” ,23);
out.print(obj.toString());
js接判跡收:
var tt= http_request.responseText;//ajax對象接受處理頁面返回的數(shù)據(jù)
var jsonobj=eval( ‘(‘+tt+ ‘)’ );//將數(shù)據(jù)封裝成對山神象
/掘唯并/取值
alert(jsonobj.name);
js中怎么用json數(shù)據(jù)庫的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于js中怎么用json數(shù)據(jù)庫,JavaScript中使用ON數(shù)據(jù)庫的方法,怎么用jsp生成json格式數(shù)據(jù),然后用js又怎樣讀取其數(shù)據(jù)?的信息別忘了在本站進行查找喔。
成都網(wǎng)站推廣找創(chuàng)新互聯(lián),老牌網(wǎng)站營銷公司
成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)(www.cdcxhl.com)專注高端網(wǎng)站建設(shè),網(wǎng)頁設(shè)計制作,網(wǎng)站維護,網(wǎng)絡(luò)營銷,SEO優(yōu)化推廣,快速提升企業(yè)網(wǎng)站排名等一站式服務(wù)。IDC基礎(chǔ)服務(wù):云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗、服務(wù)器租用、服務(wù)器托管提供四川、成都、綿陽、雅安、重慶、貴州、昆明、鄭州、湖北十堰機房互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)。
本文名稱:JavaScript中使用ON數(shù)據(jù)庫的方法 (js中怎么用json數(shù)據(jù)庫)
本文URL:http://www.dlmjj.cn/article/cdcoodg.html


咨詢
建站咨詢
