jQuery學(xué)習(xí)筆記之 Ajax操作篇(一) - 數(shù)據(jù)加載
加載 HTML
我們通常使用加載 HTML 的方法來(lái)加載 HTML 片段,并插入到指定位置,假設(shè)當(dāng)前頁(yè)面為:
<div></div> <button>load</button>
同目錄下的 test.html 文件內(nèi)容為:
<span>test</span>
我們可以使用 load 方法來(lái)加載 HTML,將其綁定到按鈕的點(diǎn)擊事件上:
$('button').click(function() { $('div').load('test.html'); });
點(diǎn)擊按鈕后:
加載 JSON
JSON 即 Javascript Object Notation,直譯過(guò)來(lái)即 Javascript 對(duì)象表示法,因此它能很方便地表示和傳輸數(shù)據(jù),它規(guī)定鍵和值都必須包含在雙引號(hào)內(nèi),且函數(shù)為非法 JSON 值。
{ "name": "stephenlee", "sex": "male" }
將上述 JSON 數(shù)據(jù)保存在 test.json 文件內(nèi)。我們可以使用 getJSON 方法加載 JSON 數(shù)據(jù),同樣將其綁定在按鈕的點(diǎn)擊事件上:
$('button').click(function() { $.getJSON('test.json'); });
由于 getJSON 方法是作為 jQuery 的全局對(duì)象而定義的,因此這里需要使用 $ 來(lái)調(diào)用該方法。這里的 $ 指的是全局 jQuery 對(duì)象,而不是 $() 所指的個(gè)別 jQuery 對(duì)象。因此我們也稱(chēng) getJSON 函數(shù)為全局函數(shù)。
但我們會(huì)發(fā)現(xiàn)上述代碼只是獲取了 JSON 數(shù)據(jù),但看不出任何效果,這里我們可以使用 getJSON 方法的第二參數(shù)作為回調(diào)函數(shù)來(lái)測(cè)試效果:
$('button').click(function() { $.getJSON('test.json', function(data) { console.log(data); $.each(data, function(index, content) { console.log(content); }) }); });
點(diǎn)擊按鈕后,我們來(lái)看下 console 內(nèi)的輸出:
這里的 each 函數(shù)的第一個(gè)參數(shù)可以接收數(shù)組或?qū)ο螅诙€(gè)參數(shù)為值回調(diào)函數(shù),將每次循環(huán)中數(shù)組或?qū)ο蟮漠?dāng)前索引和值做為參數(shù)。
加載 JS
有時(shí)候我們不希望在頁(yè)面初次加載時(shí)就加載所有的 JS 文件,而是動(dòng)態(tài)地根據(jù)需求來(lái)加載,假設(shè)當(dāng)前目錄下有一個(gè) JS 文件,內(nèi)容為一個(gè)簡(jiǎn)單的 alert:
$(function() { alert('test');// })
我們可以使用全局函數(shù) getScript 來(lái)加載該文件,同樣綁定到按鈕的點(diǎn)擊事件上:
$('button').click(function() { $.getScript('test.js'); });
點(diǎn)擊按鈕后,加載 test.js 文件,并成功觸發(fā) alert。
加載 XML
對(duì) XML 的加載操作與 JSON 類(lèi)似,因?yàn)?XML 文檔的作用也是與數(shù)據(jù)存儲(chǔ)相關(guān),在同目錄下創(chuàng)建 text.xml 文件,內(nèi)容為:
<person> <name>stephenlee</name> <sex>male</sex> </person>
加載 XML 文檔可以直接使用 get 方法,為什么看上去像一個(gè)默認(rèn)方法,這個(gè)可以根據(jù) AJAX 的全稱(chēng)看出端倪 - Asynchronous JavaScript And XML。
同樣將其綁定在按鈕點(diǎn)擊事件上:
$('button').click(function() { $.get('test.xml', function(data) { console.log(data); }); });
查看 console 結(jié)果為:
這里需要注意,如果 XML 文檔內(nèi)的格式錯(cuò)誤,雖然不會(huì)報(bào)錯(cuò),但是將無(wú)法執(zhí)行回調(diào)函數(shù)。
- php+ajax實(shí)現(xiàn)無(wú)刷新動(dòng)態(tài)加載數(shù)據(jù)技術(shù)
- Ajax動(dòng)態(tài)加載數(shù)據(jù)庫(kù)示例
- jquery Ajax 實(shí)現(xiàn)加載數(shù)據(jù)前動(dòng)畫(huà)效果的示例代碼
- 滑輪滾動(dòng)到頁(yè)面底部ajax加載數(shù)據(jù)配合jsonp實(shí)現(xiàn)探討
- 基于jquery的finkyUI插件與Ajax實(shí)現(xiàn)頁(yè)面數(shù)據(jù)加載功能
- 使用加載圖片解決在Ajax數(shù)據(jù)加載中頁(yè)面出現(xiàn)短暫空白的問(wèn)題(推薦)
相關(guān)文章
Jquery attr("checked") 返回checked或undefined 獲取選中失效
$('#cb').attr('checked'); 返回的是checked或者是undefined,不是原來(lái)的true和false了,有關(guān)此問(wèn)題的解決方法如下,感興趣的朋友可以參考下2013-10-10基于jquery的9行js輕松實(shí)現(xiàn)tab控件示例
tab控件的實(shí)現(xiàn)方法有很多,在本文為大家詳細(xì)介紹下如何通過(guò)9行js實(shí)現(xiàn)簡(jiǎn)單的tab控件,感興趣的朋友不要錯(cuò)過(guò)2013-10-10分享10篇優(yōu)秀的jQuery幻燈片制作教程及應(yīng)用案例
jQuery 是一個(gè)非常優(yōu)秀的 JavaScript 框架,使用簡(jiǎn)單靈活,同時(shí)還有許多成熟的插件可供選擇,它可以幫助你在項(xiàng)目中加入一些非常好的效果。2011-04-04jquery.cvtooltip.js 基于jquery的氣泡提示插件
顯示氣泡提示的前提是,一定會(huì)有一個(gè)被提示的對(duì)象,默認(rèn)的位置是根據(jù)body來(lái)計(jì)算的,這樣的壞處就是如果頁(yè)面內(nèi)容發(fā)生了變化,而氣泡的位置沒(méi)有改變,導(dǎo)致提示目的失敗。2010-11-11淺析jquery數(shù)組刪除指定元素的方法:grep()
下面小編就為大家?guī)?lái)一篇淺析jquery數(shù)組刪除指定元素的方法:grep()。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05JQuery實(shí)現(xiàn)隱藏和顯示動(dòng)畫(huà)效果
這篇文章主要為大家詳細(xì)介紹了JQuery實(shí)現(xiàn)隱藏和顯示動(dòng)畫(huà)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09jquery拖動(dòng)層效果插件用法實(shí)例分析(附demo源碼)
這篇文章主要介紹了jquery拖動(dòng)層效果插件用法,結(jié)合實(shí)例形式分析了jquery-ui-1.7.2.custom.min.js插件的具體使用技巧,并附帶完整demo源碼供讀者下載參考,需要的朋友可以參考下2016-04-04