Django结合ajax进行页面实时更新的例子

2019 Java 开发者跳槽指南.pdf (吐血整理)….>>>

Django结合ajax进行页面实时更新踩过的坑

简单记录一下在使用Django、echarts和ajax实现数据动态更新时遇到的一些坑:

1、url配置错误,路径没有找对(最后使用绝对路径)

2、后台(view.py)传的数据类型不对导致

3、没有配置js源,根本发不出ajax请求(第一次接触js,根本不知道这个大坑。。)

4、不知道哪里报错可以根据XMLHttpRequest.status、XMLHttpRequest.readyState和textStatus进行分析

5、(现在还没弄明白的)在view.py)中向前端传数据的函数需要加上@csrf_exempt,不然根本不可能成功(在这个坑找了好久,科学上网才查到)

1、ajax参数:

1
2
3
4
5
6
7
8
9
10
11
 $.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示例

1
2
3
4
5
6
7
8
9
@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}))

生成了三组随机数,没有报错的话会传给ajax的success

3、url.py

1
2
3
4
5
urlpatterns = [
 
 
  url(r'^goData/$',views.goData,name='goData'),
]

4、最后就是要 记得引入相应的文件(js和echarts)

以上这篇Django结合ajax进行页面实时更新的例子