MTV和MVC Ajax contentType 序列化组件 分页器
MTV与MVC模型 Ajax??? 异步提交,局部刷新 请求方式????? GET?? POST a标签href属性?? ??? ??? ? GET请求 首先ajax这门技术 是js中的,但是原生的js操作ajax比较繁琐,我们这里为了提高效率,直接使用jQuery封装版本的ajax AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。 index.py文件
<input type="text" id="i1">+<input type="text" id="i2">=<input type="text" id="i3"> contentType前后端传输数据编码格式 form表单 ajax提交数据 ajax发送json格式数据 $(‘#b1‘).on(‘click‘,function () { // 点击按钮 朝后端发送post请求 $.ajax({ url:‘‘,// 发送方式是post请求 data:JSON.stringify({‘username‘:‘jason‘,‘password‘:123}),// 发送的数据 contentType:‘application/json‘,// 告诉后端你这次的数据是json格式 success:function (data) { // data形参用来接收异步提交的结果 alert(data) // 将后端计算好的结果 通过DOM操作 渲染到第三个input矿中 $(‘#i3‘).val(data) } }) }) ajax传输文件 $(‘#b1‘).on(‘click‘,function () { // ajax传输文件 建议使用内置对象formdata var formData = new FormData(); // 既可以传普通的键值对 也可以传文件 // 添加普通键值 formData.append(‘username‘,‘jason‘); formData.append(‘password‘,‘123‘); // 传文件 // 如何获取文件标签所存储的文件对象? 固定语法 // 1.先用jQery查找到存储文件的input标签 // 2.将jQuery对象转成原生js对象 // 3.利用原生js对象的方法 .files[0]获取到标签内部存储的文件对象 // 4.一定要指定两个参数都为false formData.append(‘my_file‘,$(‘#d1‘)[0].files[0]); $.ajax({ url:‘‘,// 发送方式是post请求 data:formData,// 发送的数据 // ajax发送文件需要指定两个额外的参数 processData:false,// 告诉前端不要处理数据 contentType:false,// 不适用任何编码 因为formdata对象自身自带编码 django后端也能够识别formdata对象 success:function (data) { // data形参用来接收异步提交的结果 {#alert(data)#} // 将后端计算好的结果 通过DOM操作 渲染到第三个input矿中 $(‘#i3‘).val(data) } }) }) 序列化组件 自定义分页器的使用?? ??? ?后端代码?? ??? ??? ??? ?book_list = models.Book.objects.all()?? ??? ??? ??? ?current_page = request.GET.get("page",1)?? ??? ??? ??? ?all_count = book_list.count()?? ??? ??? ??? ?page_obj = Pagination(current_page=current_page,all_count=all_count,per_page_num=10,pager_count=5)?? ??? ??? ??? ?page_queryset = book_list[page_obj.start:page_obj.end]?? ??? ?前端代码?? ??? ??? ??? ?{% for book in page_queryset %}?? ??? ??? ??? ?<p>{{ book.title }}</p>?? ??? ??? ??? ?{% endfor %}?? ??? ??? ??? ?{{ page_obj.page_html|safe }} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |