Django結(jié)合ajax進行頁面實時更新的例子
Django結(jié)合ajax進行頁面實時更新踩過的坑
簡單記錄一下在使用Django、echarts和ajax實現(xiàn)數(shù)據(jù)動態(tài)更新時遇到的一些坑:
1、url配置錯誤,路徑?jīng)]有找對(最后使用絕對路徑)
2、后臺(view.py)傳的數(shù)據(jù)類型不對導致
3、沒有配置js源,根本發(fā)不出ajax請求(第一次接觸js,根本不知道這個大坑。。)
4、不知道哪里報錯可以根據(jù)XMLHttpRequest.status、XMLHttpRequest.readyState和textStatus進行分析
5、(現(xiàn)在還沒弄明白的)在view.py)中向前端傳數(shù)據(jù)的函數(shù)需要加上@csrf_exempt,不然根本不可能成功(在這個坑找了好久,科學上網(wǎng)才查到)
1、ajax參數(shù):
$.ajax({ url:'http://127.0.0.1:8000/hiapp/goData/', type:"Post", data: {}, dtype:'list', success: function (da) { alert("success") }, error: function (XMLHttpRequest, textStatus,errorThrown) { alert("fail "+XMLHttpRequest.status+" " XMLHttpRequest.readyState+" "+textStatus);}
2、view.py示例
@csrf_exempt def goData(request): if request.method=='POST' : a = range(100) list1=random.sample(a,7) list2=random.sample(a,7) list3=random.sample(a,7) return HttpResponse(json.dumps({"list1":list1,"list2":list2,"list3":list3}))
生成了三組隨機數(shù),沒有報錯的話會傳給ajax的success
3、url.py
urlpatterns = [ url(r'^goData/$',views.goData,name='goData'), ]
4、最后就是要 記得引入相應的文件(js和echarts)
以上這篇Django結(jié)合ajax進行頁面實時更新的例子就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python flask基于cookie和session來實現(xiàn)會話控制的實戰(zhàn)代碼
所謂的會話(session),就是客戶端瀏覽器和服務端網(wǎng)站之間一次完整的交互過程,本文介紹falsk通過cookie和session來控制http會話的全部解析,通常我們可以用cookie和session來保持用戶登錄等,感興趣的朋友一起看看吧2024-03-03