首頁 > web前端 > js教程 > 使用jquery與ajax進行數據交互

使用jquery與ajax進行數據交互

php中世界最好的语言
發布: 2018-04-17 14:31:29
原創
1893 人瀏覽過

這次帶給大家使用jquery與ajax進行數據交互,使用jquery與ajax進行數據交互的注意事項有哪些,下面就是實戰案例,一起來看一下。

# jquery框架中提供了$.ajax、$.get、$.post方法,用於進行非同步交互,由於Django中預設使用CSRF約束,建議使用$.get

# 範例:實現省市區的選擇

# 將jquery檔案拷貝到static/js/目錄下

開啟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

nbsp;html>


 <meta>
 <title>Title</title>
 <script></script>
 <script>
  $(function () {
   $.get(&#39;/sheng/&#39;,function (data) {//{slist:[]}
    var slist=data.slist;//[{},{},{}...]
    var sheng=$(&#39;#sheng&#39;);
    $.each(slist,function (i,n) {
     //n==>{id:,title:}
     sheng.append(&#39;<option value="&#39;+n.id+&#39;">&#39;+n.title+&#39;&#39;)
    });
   });
   $(&#39;#sheng&#39;).change(function () {
    var sid=$(this).val();
    if(sid!=&#39;0&#39;){
     $.get(&#39;/shi/&#39;,{&#39;sid&#39;:sid},function (data) {
      var slist=data.slist;
      var shi=$(&#39;#shi&#39;).empty().append(&#39;<option value="0">请选择&#39;);
      $(&#39;#qu&#39;).empty().append(&#39;<option value="0">请选择&#39;);
      $.each(slist,function (i,n) {
       shi.append(&#39;<option value="&#39;+n.id+&#39;">&#39;+n.title+&#39;&#39;);
      });
     });
    }
   });
   $(&#39;#shi&#39;).change(function () {
    var sid=$(this).val();
    if(sid!=&#39;0&#39;){
     $.get(&#39;/shi/&#39;,{&#39;sid&#39;:sid},function (data) {
      var slist=data.slist;
      var shi=$(&#39;#qu&#39;).empty().append(&#39;<option value="0">请选择&#39;);
      $.each(slist,function (i,n) {
       shi.append(&#39;<option value="&#39;+n.id+&#39;">&#39;+n.title+&#39;&#39;);
      });
     });
    }
   });
  });
 </script>


<select>
 <option>请选择</option>
</select>
<select>
 <option>请选择</option>
</select>
<select>
 <option>请选择</option>
</select>

登入後複製

執行伺服器,在瀏覽器中輸入以下網址

http://127.0.0.1:8000/area1/

瀏覽效果如下圖

使用jquery與ajax進行數據交互

# 開啟booktest/views.py文件,定義視圖sheng,用於取得省資訊

url('^sheng/$',views.sheng),
登入後複製
登入後複製

使用jquery與ajax進行數據交互使用jquery與ajax進行數據交互

from django.http import JsonResponse
def sheng(request):
 slist=AreaInfo.objects.filter(aParentisnull=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/
登入後複製

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

#根据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),
登入後複製

在瀏覽器中輸入以下網址

http://127.0.0.1:8000/shi/?sid=140000/

在瀏覽器中輸入以下網址

http://127.0.0.1:8000/shi/

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:



#

以上是使用jquery與ajax進行數據交互的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板