Django ajax小例
urls.py:
url(r'^ajaxstudents/$', views.ajaxstudents),
url(r'^getstudentsinfo/$', views.getstudentsinfo),
views.py:
def ajaxstudents(request):
return render(request,'myApp/ajaxstudents.html')
def getstudentsinfo(request):
stus = Students.stuObj.all()
list = []
for stu in stus:
list.append([stu.sname,stu.sage])
return JsonResponse({"students":list})
ajaxstudents.html:
<script type="text/javascript" src="{% static 'myApp/js/jquery-1.11.3.js' %}"></script>
<h1>ajax请求学生信息</h1>
<button id="btn">显示学生信息</button>
<script type="text/javascript">
var btn = document.getElementById("btn")
btn.onclick = function(){
$.ajax({
type:"get",
url:"/sunck/getstudentsinfo/",
dataType:"json",
success:function(data,textStatus){
var d = data["students"]
for(var i = 0; i < d.length; i++){
document.write('<p>'+d[i]+'</p>')
}
}
})
}
</script>
1.访问http://127.0.0.1:8000/sunck/ajaxstudents/(主路由里设置了一个^sunck/),显示
2.然后“显示学生信息”绑定了一个点击事件,该事件就是发送一个ajax请求,发送的路径是/sunck/getstudentsinfo/,请求方式是get,因为是“拿信息”
3.到了/sunck/getstudentsinfo/路径后,执行相应的视图函数getstudentsinfo,该函数的功能就是把所有学生的姓名和年龄放到一个列表里,然后用JsonResponse类把该列表返回到ajax(return JsonResponse({"students":list}))
4.返回到ajax后是ajax里的data拿到数据,data["students"]就相当于视图函数里的那个列表了,然后可以循环打印数据
笔记:
HttpResponse和JsonResponse区别:
简单点就是,HttpResponse 返回的是一个字符串类型的数据,JsonResponse 返回的是一个json格式的数据
#如果HttpResponse返回,ajax里还需要进行json解析
#views.py
return HttpResponse(json.dumps({"msg":"ok!"})) #index.html
var data=json.parse(data)
console.log(data.msg);
#如果JsonReponse返回,两边都不需要进行json的序列化与反序列化,ajax接受的直接是一个对象
#views.pyreturn JsonResponse({"msg":"ok!"}) #index.html
console.log(data.msg);
Django ajax小例的更多相关文章
- Django ajax的简单使用、自定义分页器
一. ajax初识 1. 前后端传输数据编码格式contentType 使用form表单向后端提交数据时,必须将form表单的method由默认的get改为post,如果提交的数据中包含文件,还要将f ...
- Django ajax MYSQL Highcharts<1>
Another small project with django/Ajax/Mysql/Highcharts. 看下效果图 - delivery dashboard .嘿嘿 是不是还蛮好看的. 废 ...
- linux 命令小例
xargs示例: ls |xargs -i mv {} /opt find示例: find -mtime +n -name “*.avi” -type f -exec rm {} \; find - ...
- Ubuntu13.04 Eclipse下编译安装Hadoop插件及使用小例
Ubuntu13.04 Eclipse下编译安装Hadoop插件及使用小例 一.在Eclipse下编译安装Hadoop插件 Hadoop的Eclipse插件现在已经没有二进制版直接提供,只能自己编译. ...
- django ajax练习
这几天遇到了django ajax请求出错的问题,总结一下 前端js:我这里创建的是一个字典格式的数据,前端js收到字典之后也是要用字典的形式去解包后台传送过来的数据,比如我下面的写法:data['s ...
- 关于Django Ajax CSRF 认证
CSRF(Cross-site request forgery跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的 ...
- 第一个ajax小demo
第一个ajax小demo 文章来源:http://blog.csdn.net/magi1201/article/details/44569657
- django ajax增 删 改 查
具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...
- 使用libcurl下载文件小例
libcurl是一个很强大的开源网络处理库,支持包括HTTP.HTTPS.FTP……一系列网络协议.用它来进行HTTP的get\post 或者下载文件更是小菜一碟,chrome内核都用到了它,本文主要 ...
随机推荐
- ERROR in Template execution failed: ReferenceError: htmlwebpackPlugin is not defined
ejs文件配置如下: <!DOCTYPE html> <html lang="zh-CN"> <head> <title>webpa ...
- ASE Alpha Sprint - backend scrum 10
本次scrum于2019.11.15在sky garden进行,持续30分钟 参与人: Xin Kang, Zhikai Chen, Jia Ning, Hao Wang 请假: Lihao Ran, ...
- 2019-9-2-win10-uwp-打电话
title author date CreateTime categories win10 uwp 打电话 lindexi 2019-09-02 12:57:38 +0800 2018-2-13 17 ...
- 微信小程序(8)--头部导航滑动
项目需求:实现头部导航,可左右滑动. <view class="top-news"> <view class="self-box"> & ...
- 七、WebApi跨域操作
情景:测试后返回"no response from server"? 请求响应: js调试控制台: 一.搜索安装 Microsoft.AspNet.WebApi.Cors 二.添加 ...
- 自定义 异步 IO 非阻塞框架
框架一 自定义Web异步非阻塞框架 suosuo.py #!/usr/bin/env python # -*- coding: utf-8 -*-# # __name__ = Web_Framewor ...
- 《Spring Boot实战》笔记(目录)
目录 目 录第一部分 点睛Spring 4.x第1 章 Spring 基础 .............................................................. ...
- Vue路由监听
一.问题描述 描述:页面1showowner.vue跳转到页面2showuser.vue 需求:页面1的多个结点对应于一个页面2文件[页面2未展示] 问题:并不是页面一的一个结点对应一个页面二文件 处 ...
- 【串线篇】SQL映射文件-联合查询(完结association+cellection)
1.级联属性的方式封装查出1-1 查钥匙的时候顺别把对应的级联的那把锁也查出来 1).两个JavaBean,Key里有对应的Lock(private Lock lock;//当前钥匙能开哪个锁:) 2 ...
- join()、split()
join()用于把数组转化为字符串 var arr=['hello','world','kugou']; document.write(arr.join(''));//helloworldkugou ...