成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? AJAX和jQuery動態加載數據的實現方法
全站頭部文字 我要出現在這里
AJAX和jQuery動態加載數據的實現方法 763 2024-02-10   

什么是AJAX?

這里的AJAX不是希臘神話里的英雄,也不是清潔劑品牌,更不是一門語言,而是指異步Javascript和XML(Asynchronous JavaScript And XML),這里的XML(數據格式)也可以是純文本(Plain Text)或是JSON。簡單的說,就是使用XMLHttpRequest對象和服務器端交換數據(以XML或是JSON等格式),使用JavaScript處理數據并更新頁面內容。

查看圖片

為什么要使用AJAX?

借助AJAX,我們可以實現:

在不重載頁面的情況下,向服務器發送請求;

動態加載數據,即在后臺交換數據。

比方說,一個便簽本應用,當你在表單里填寫好內容,點擊新建,這時不會有頁面跳轉,內容即時更新,數據在后臺寫入數據庫。

AJAX讓Web APP更像是APP。

使用jQuery實現AJAX

使用jQuery可以簡化這個過程。下面是一個簡單的例子,在兩個輸入框里輸入數字,按下計算按鈕,JavaScript發送數據,在sever端(視圖函數)獲取數據,將兩個數相加的結果返回,JavaScript獲取返回的數據并將其顯示在頁面上。

1、加載jQuery

把jQuery放到static文件夾,然后加載它:

<script src="http://www.gimoo.net/t/1810/{{ url_for('static', filename='jquery.js') }}"></script>

或是從CDN加載(你可能需要更換其他站點提供的CDN資源):

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

2、設置url變量

在jQuery里沒法使用url_for函數獲取地址,所以我們使用request設置一個動態的全局變量:

<script type=text/javascript>
$SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
</script>

兩個輸入框,一個按鈕:

<h1>Add Two Number</h1>
<p>
<input type="text" size="5" name="a"> +
<input type="text" size="5" name="b"> =
<span id="result">?</span>
</p>
<button id="calculate">Calculate!</button>

3、使用getJSON方法發送和獲取數據

<script type=text/javascript>
$(function() {
$('a#calculate').bind('click', function() {
$.getJSON($SCRIPT_ROOT + '/calculate', {
a: $('input[name="a"]').val(),
b: $('input[name="b"]').val()
}, function(data) {
$("#result").text(data.result);
});
return false;
});
});
</script>

$.getJSON(url, data, func)發送一個GET請求,其中url是你要處理數據的視圖函數的url,data是返回的數據,func是處理數據的函數。

JSON是JavaScript Object Notation(JavaScript對象表示法)的縮寫,一種數據格式,形態上類似Python的字典,以鍵值對的形式存儲數據(符號也是大括號)。

4、獲取、處理并返回JSON數據的視圖函數

from flask import Flask, jsonify, render_template, request
app = Flask(__name__)
@app.route('/calculate')
def add_numbers():
a = request.args.get('a', 0, type=int) # 第二個參數作為默認值
b = request.args.get('b', 0, type=int)
return jsonify(result=a + b)
@app.route('/')
def index():
return render_template('index.html')

使用Flask提供的jsonify()函數返回JSON數據。

這個例子改編自Flask官方的例子,完整的源碼見:https://github.com/pallets/flask/blob/master/examples/jqueryexample



主站蜘蛛池模板: 白鹭的简介资料| 火花 电影| 古建凉亭生产厂家| 王后秘史| 全球gdp排名| 欧美一级大胆视频| 嫂子的职业韩| free gay movies| 混的人头像| 意外的春天 电影| 四川地图旅游地图高清版大图| 菠萝菠萝视频在线观看| 八年级上册英语课堂作业答案| 蜡笔小新日语| 美国伦理片禁忌| 不要再来伤害我简谱| 黄婉伶| be helpful at home| 杨幂三级| 忘忧草电影| 韩国xxxxxxxxxxxx| 瓶邪图片| 彭丹丹最惊艳的电影| 花非花电视剧演员表| 禁忌的恋爱关系一部| 兔子先生第四季在线观看| 北京卫视今晚节目表| 古诗改编版搞笑大全| 思念天边的你简谱| 漂亮女孩 电视剧| 徐若| 爱妻者| 梦醒长安| 金刚狼1| 谭咏麟个人资料简介| 珠江电视台直播 珠江频道| 食人鱼电影| 澳门风云2演员表| 四年级科学上册教学计划(新教科版)| 恋爱中的女人 电影| sandrarusso精品艳妇|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103