ajax數據交互代碼,Django中使用jquery的ajax進行數據交互的實例代碼

jquery框架中提供了$.ajax、$.get、$.post方法,用于進行異步交互,由于Django中默認使用CSRF約束,推薦使用$.get

示例:實現省市區的選擇

最終實現效果如圖:

6c1724a4fdbc190d4befc11299057678.png

將jquery文件拷貝到static/js/目錄下

6be5ed17ae7aebd8e56cd323f92b020a.png

打開booktest/views.py文件,定義視圖area1,用于顯示下拉列表

#提供顯示下拉列表的控件,供用戶操作

def area1(request):

return render(request,'booktest/area1.html')

打開booktest/urls.py文件,配置url

url('^area1/$',views.area1),

在templates/booktest/目錄下創建area1.html

983315912a4bf5a15544c4a654a73329.gif

55868ba5f99df3566aa72bc5346cd74b.gif

Title

$(function () {

$.get('/sheng/',function (data) {//{slist:[]}

var slist=data.slist;//[{},{},{}...]

var sheng=$('#sheng');

$.each(slist,function (i,n) {

//n==>{id:,title:}

sheng.append(''+n.title+'')

});

});

$('#sheng').change(function () {

var sid=$(this).val();

if(sid!='0'){

$.get('/shi/',{'sid':sid},function (data) {

var slist=data.slist;

var shi=$('#shi').empty().append('請選擇');

$('#qu').empty().append('請選擇');

$.each(slist,function (i,n) {

shi.append(''+n.title+'');

});

});

}

});

$('#shi').change(function () {

var sid=$(this).val();

if(sid!='0'){

$.get('/shi/',{'sid':sid},function (data) {

var slist=data.slist;

var shi=$('#qu').empty().append('請選擇');

$.each(slist,function (i,n) {

shi.append(''+n.title+'');

});

});

}

});

});

請選擇

請選擇

請選擇

運行服務器,在瀏覽器中輸入如下網址

瀏覽效果如下圖

6a6b1d11e1f96cc7dfdfe051a19fc183.png

打開booktest/views.py文件,定義視圖sheng,用于獲取省信息

url('^sheng/$',views.sheng),

983315912a4bf5a15544c4a654a73329.gif

55868ba5f99df3566aa72bc5346cd74b.gif

from django.http import JsonResponse

def sheng(request):

slist=AreaInfo.objects.filter(aParent__isnull=True)

'''

[{id:,title:},{},{}]

'''

slist2=[]

for s in slist:

slist2.append({'id':s.id,'title':s.atitle})

return JsonResponse({'slist':slist2})

打開booktest/urls.py文件,配置url

url('^sheng/$',views.sheng),

在瀏覽器中輸入如下網址

http://127.0.0.1:8000/sheng/

瀏覽效果如下圖

39e1e27d3b32684cc88d124892daefd0.png

打開booktest/views.py文件,定義視圖shi,用于根據編號獲取對應的子級信息,如果傳遞的是省編號則獲取市信息,如果傳遞的是市編號則獲取區縣信息

983315912a4bf5a15544c4a654a73329.gif

55868ba5f99df3566aa72bc5346cd74b.gif

#根據pid查詢子級區域信息

def shi(request):

sid=request.GET.get('sid')

slist=AreaInfo.objects.filter(aParent_id=sid)

slist2=[]

for s in slist:

slist2.append({'id':s.id,'title':s.atitle})

return JsonResponse({'slist':slist2})

打開booktest/urls.py文件,配置url

url('^shi/$',views.shi),

在瀏覽器中輸入如下網址

瀏覽效果如下圖

cb154e19b5992daff1f65b3af57e34f9.png

在瀏覽器中輸入如下網址

選擇效果如下圖

1231eeca614386fa38862706168b88c3.png

總結

以上所述是小編給大家介紹的Django中使用jquery的ajax進行數據交互的實例代碼,希望對大家有所幫助!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530802.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530802.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530802.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL 入門教程:全網最全,MySQL 增刪改查高級命令硬核總結

文章目錄前言一、連接到 MySQL 數據庫1.1、連接到本機上的 MySQL1.2、連接到遠程主機上的 MySQL二、退出 MySQL 命令三、修改 MySQL 密碼3.1、先給 root 用戶加個密碼 ab123.2、再將 root 用戶的密碼改為 djg345四、增加新用戶4.1、增加一個可以在任何主機上登錄用戶 test1&…

網站設計好怎么上傳到服務器的,虛擬主機上傳到網站的幾個步驟

虛擬主機怎么上傳到網站?站長們可以利用專業的軟件協助自己上傳,比如專業的ftp軟件,具備支持續點相傳,上傳,以及下載目錄等等,不會將限制過長的網站剔除,還可以下載列隊,可以長傳到本地&#x…

數據庫管理工具:全網最全,MySQL 數據庫圖形化管理界面應用 Navicat Premium 使用教程

文章目錄前言一、Navicat 下載和安裝1.1、Navicat 下載1.2、Navicat 安裝和啟動二、創建數據庫連接2.1、連接本地數據庫2.2、連接遠程數據庫三、對數據庫的“增刪改查”功能操作3.1、對數據庫的基本操作3.1.1、新建數據庫3.1.2、刪除數據庫3.1.3、修改數據庫3.1.4、查詢數據庫3…

電腦無線網絡與服務器共享,圖文詳解win7筆記本如何實現內置無線局域網卡共享...

圖文詳解win7筆記本如何實現內置無線局域網卡共享:windows7集合了眾多優點于一身,帶來了空前的操作體驗,同時還吸取了蘋果Mac OS X系統的特色,因此很多用戶在新購置筆記本電腦的時候都預裝了win7系統,而且現在市面上出…

數據庫深度剖析:Oracle、Microsoft SQL Server、MySQL 三者有何區別?

文章目錄前言一、Oracle 數據庫1.1、支撐平臺范圍廣1.2、Oracle 在兼容性、可移植性、可聯結性、高生產率上、開放性也存在優點1.3、Oracle 價格是比較昂貴的二、Microsoft SQL Server 數據庫2.1、可伸縮性好、與相關軟件集成程度高2.2、擁有良好的 ODBC 接口2.3、基于微軟&…

MySQL 完全卸載:教你如何完全卸載掉本地令人頭大的 MySQL 數據庫

文章目錄前言一、控制面板卸載 MySQL二、刪除 MySQL 數據庫安裝文件夾三、打開注冊表編輯器四、刪除殘留注冊表文件五、刪除系統盤殘留數據文件總結前言 如果我們 MySQL 數據庫密碼遺忘需要重新安裝 MySQL 數據庫時,就需要先卸載掉本地的文件。而 MySQL 并不是像其他…

MySQL 外碼約束原理:如何解決數據庫添加數據時產生的外碼(外鍵)約束?

文章目錄前言一、插入新數據時報錯外鍵約束?二、對于出錯 SQL 語句的分析三、對于外碼約束的分析四、如何處理外鍵約束?總結前言 我們在使用 MySQL 數據庫時,添加數據如果設計不合理很容易出現外碼約束的情況,為什么會產生這樣的問…

MySQL 案例練習:用一條 SQL 語句查詢出每門課都大于 80 分的學生姓名

用一條sql語句查詢出每門課都大于80分的學生姓名 首先需要進行分析: 要查詢出每門課程都大于80分的學生姓名,因為一個學生有多門課程,所以會出現下面三種情況。 第一可能所有課程都大于80分。第二可能有些課程大于80分,另外一些…

如何刪除 eclipse 中多余的 Tomcat server?為什么產生這種 bug?

文章目錄前言一、錯誤原因分析二、解決方式總結前言 可能有些同學在使用 Eclipse 進行項目開發的時候,存在對于 Tomcat 的錯誤操作,會發現在下面的工具欄里 Server 的選項里面有好多 Server,按理說我們有一個可以使用就行了。那我們該如何刪除…

HTTP 和 HTTPS 兩種傳輸協議各自含義是什么?二者使用有什么區別?

文章目錄前言一、什么是 HTTP 傳輸協議?二、什么是 HTTPS 傳輸協議?三、HTTP 和 HTTPS 有何區別?總結前言 HTTP 屬于超文本傳輸協議,用來在 Internet 上傳送超文本,而 HTTPS 為安全超文本傳輸協議,在 HTTP基…

在前端網頁設計中 align 和 valign 兩種對齊方式的不同取值區分(持續補充)

文章目錄前言一、align 與 valign 的對齊方式與取值二、常見應用區分整理2.1、H5 頁面設計的取值2.2、表格標題的取值2.3、表格屬性的取值總結前言 不知道大家在學習 H5 的時候,有沒有疑惑過,對于 align 和 valign 兩種對齊方式在不同的情境下往往會有不…

H5 中 bordercolorlight 屬性的用法及作用

一、問題場景 今天在復習 H5 頁面設計表格&#xff0c;發現<table>標簽中添加了新的屬性&#xff1a;bordercolorlight。我們來看看有什么作用。 示例如下&#xff1a; table bordercolorlight"顏色值"&#xff08;黃色部分&#xff09;效果如下圖所示&…

從數據傳輸的角度辨析表單設計時的 get 和 post 提交方法

文章目錄前言一、get 方法1.1、get 方法對傳輸的字符數有限制1.2、get 方法不具有保密性1.3、get 方法不能傳輸非 ASCII 碼的字符1.4、get 方式提交數據被保存在請求數據包的請求行中二、post 方法2.1、post 方式提交表單數據大小沒限制2.2、post 方式所傳輸的數據不會顯示在瀏…

提交文件至服務器的設置——表單屬性中的 enctype

文章目錄前言一、enctype 屬性設置二、文件域的設置總結前言 我們在使用 HTML 寫表單的時候&#xff0c;如果需要上傳本地文件至服務器&#xff0c;我們就需要對文件域中的 enctype 屬性進行調整并設置提交方式&#xff0c;本文對這一屬性做了簡單總結和案例介紹。 一、enctyp…

Tomcat 應用服務器如何設置 Web 服務目錄精講

文章目錄前言一、設置 Web 服務根目錄1.1、根目錄的位置1.1.1、根目錄的默認訪問地址&#xff08;設置 IP&#xff09;1.1.2、根目錄的默認訪問地址&#xff08;未設置 IP&#xff09;二、設置 webapps 下的 Web 服務目錄三、新建 Web 服務目錄四、設置相對目錄總結前言 我們在…

Java 版本、語言規范、API、JDK、IDE、Java 源程序編譯、執行原理(跨平臺性根本原因)、特殊字符用法、8 大數據類型小結

文章目錄前言一、三大版本類型二、Java 語言規范三、應用程序接口&#xff08;API&#xff09;四、Java 開發工具包&#xff08;JDK&#xff09;五、集成開發環境&#xff08;IDE&#xff09;六、Java 運行環境&#xff08;JRE&#xff09;七、Java 源程序編譯、執行原理&#…

常見的技術類英文字母含義總結,Localhost、SDK、URL 等(持續更新中)

文章目錄前言一、Localhost二、SDK三、URL總結前言 我們在開發中經常會遇到一些技術類的英文單詞&#xff0c;初遇可能會有些陌生&#xff0c;在此為了方便大家&#xff0c;同時便于自己查看一些名詞&#xff0c;就做了一個小結&#xff0c;如果我不懶的話就持續更新本文了&…

使用 Eclipse 建立包的時候,“name”下可選項“Create package-info.java”的作用是什么?

一、場景描述 我們在使用 Eclipse 開發項目建包的時候&#xff0c;你是否發現在“name”下有可選項“Create package-info.java”&#xff0c;除了根據英文譯出的“創建包說明”還有什么作用呢&#xff1f; 二、作用 聲明友好類和包內訪問常量。為在包上標注注解提供便利。提…

啟動 Tomcat 應用服務器端口 8080 被占用排查思路及解決方式

文章目錄前言一、Tomcat 應用服務器端口 8080 被占用二、如何解決端口被占用2.1、列出所有端口的使用情況2.2、查看被占用端口對應的 PID2.3、回車查看占用端口的具體程序2.4、結束目的進程總結前言 我們在啟動 Tomcat 應用服務器運行項目的時候&#xff0c;如果上次我們沒有正…

Eclipse 插件用法:Eclipse 利用 Amateras UML 生成 Java 類圖、時序圖和 UML 類圖

文章目錄前言一、安裝 Eclipse 官方提供的安裝框架 GEF1.1、Eclipse 中第三方插件更新/安裝策略1.2、為什么選擇 GEF 框架&#xff1f;1.3、GEF 框架安裝二、安裝 Amateras UML2.1、Amateras UML 插件下載2.2、將 Amateras UML 集成到 GEF 安裝框架中2.3、重新啟動&#xff0c;…