本文實(shí)例講述了jQuery實(shí)現(xiàn)Ajax功能。分享給大家供大家參考,具體如下:
jQuery 是一個(gè)小型的 JavaScript 庫,它通常被用來簡(jiǎn)化 DOM 和 JavaScript 操作。通過在服務(wù)器和客戶端之間交換 JSON 數(shù)據(jù)是使得 Web 應(yīng)用動(dòng)態(tài)化的完美方式。
JSON 本身是一個(gè)很清量級(jí)的數(shù)據(jù)傳輸格式,非常近似于 Python 的原始數(shù)據(jù)類型 (數(shù)字、字符串、字典和鏈表等),這一數(shù)據(jù)格式被廣泛支持,而且非常容易解析。 它幾年前開始流行,然后迅速取代了 XML 在 Web 應(yīng)用常用數(shù)據(jù)傳輸格式中的地位。
如果您使用 Python 2.6 以上版本,JSON 的解析庫是開箱即用的。在 Python 2.5 中您則必須從 PyPI 安裝 simplejson 庫。
加載 jQuery
為了使用 jQuery 您需要先下載它,然后將其放置在您應(yīng)用的靜態(tài)文件夾中,并確認(rèn)他被加載了。理想的情況下是,您有一個(gè)用于所有頁面的布局模板。要加載 jQuery 您只需要在這個(gè)布局模板中 <body> 標(biāo)簽的最下方添加一個(gè) script 標(biāo)簽。
<script type=text/javascript src="{{ url_for('static', filename='jquery.js') }}"></script>另一個(gè)加載 jQuery 的技巧是使用 Google 的 AJAX Libraries API :
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.js"></script><script>window.jQuery || document.write('<script src="{{ url_for('static', filename='jquery.js') }}">/x3C/script>')</script>在以上配置的情況下,您需要將 jQuery 放置到靜態(tài)文件夾當(dāng)中作為一個(gè)備份。瀏覽器將會(huì)首先嘗試直接從 Google 加載 jQuery。如果您的用戶至少一次訪問過使用 Google 提供的的 jQuery 版本的話,瀏覽器就會(huì)緩存這個(gè)代碼,這樣您的網(wǎng)站就可以從中獲得加載更快的好處了。
我的站點(diǎn)在哪?
您知道您的應(yīng)用在哪里運(yùn)行么?如果您在開發(fā)過程當(dāng)中,那么答案非常簡(jiǎn)單: 它運(yùn)行在本地端口,而且就在這個(gè) URL 的根路徑位置。但是如果您后來決定將您的應(yīng)喲ing移動(dòng)到一個(gè)不同的未知怎么辦?比如 http://example.com/myapp ? 在服務(wù)器這邊,這從來不是一個(gè)問題,原因是我們使用的 url_for() 函數(shù)可以幫我們回答這個(gè)問題。但是如果我們?cè)谑褂?jQuery 我們不應(yīng)該將指向應(yīng)用的路徑硬編碼到程序中,而是將它動(dòng)態(tài)化。該如何做到這點(diǎn)呢?
一個(gè)簡(jiǎn)單的技巧可能是為我們的頁面添加一個(gè) script 標(biāo)簽,然后設(shè)定一個(gè)全局變量作為一個(gè)應(yīng)用根路徑的前綴。如下所示:
<script type=text/javascript> $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};</script>這里的 |safe 是必要的。這樣 Jinja 才不會(huì)將 JSON 編碼的字符串以 HTML 的規(guī)則過濾處理掉。通常這種過濾是必要的,但是在 script 標(biāo)簽塊當(dāng)中有著不同于原先的過濾規(guī)則。
|
新聞熱點(diǎn)
疑難解答
圖片精選