ajax数据提交:

需求:

1. 点击ajax方式提交后数据提交到后台数据库,并且在前台实现数据更新

a.可以用刷新页面来实现数据页面的更新

对应的html,实现局部刷新(可以用刷新页面实现,例如

$(function(){

     refresh();
});
//点击按钮调用的方法
function refresh(){
    window.location.reload();//刷新当前页面.
}

b.也可以使用js网页拼凑方法来实现页面局部刷新

model页面如下:

model html:

<div class="model hide">
<form method="post" action="/classes.html" >
<input name="id" type="text" class="hide" />
<input name="caption" type="text" placeholder="确定" />
<input id="id_modal_cancel" type="button" value="取消"/>
<input type="submit" value="Submit"/>
<input type="button" id="modal_ajax_submit" value="Ajax方式提交"/>
</form>
</div>

table:

table html:

{% for item in cls_list %}
<tr>
<td alex="id">{{ item.id }}</td>
<td alex="caption">{{ item.caption }}</td>
<td><a class="td-edit">编辑</a>| <a target="_blank" href="/edit_classes.html?nid={{ item.id }}">跳转编辑</a> | <a class="td-delete">删除</a></td>
</tr>
{% endfor %}

-------------------

js开始拼凑:

要拼凑的格式:

/*
<tr>
<td>{{ item.id }}</td>
<td>{{ item.caption }}</td>
<td>
<a class="td-edit">编辑</a> | <a class="td-delete">删除</a>
    </td>
</tr>
*/
开始拼凑:
function bindSubmitModal() {
$('#modal_ajax_submit').click(function () {
var nid = $('.modal input[name="id"]').val();
var value = $('.modal input[name="caption"]').val();
$.ajax({
url: SUBMIT_URL,
type: 'POST',
data: {caption: value,id: nid},
dataType: "JSON",
success: function (rep) {
//data = JSON.parse(data);
if(!rep.status){
alert(rep.error);
}else{
// location.reload();
// 通过js在table表格最后追加一行数据,追加的数据就是当前增加的数据
/*
<tr>
<td>{{ item.id }}</td>
<td>{{ item.caption }}</td>
<td>
<a class="td-edit">编辑</a> | <a class="td-delete">删除</a>
                        </td>
</tr>
*/
var tr = document.createElement('tr');
var td1 = document.createElement('td');
// td1ID
td1.innerHTML = rep.data.id;
var td2 = document.createElement('td');
// td2标题
td2.innerHTML = rep.data.caption;
var td3 = document.createElement('td');
td3.innerText = "|";
var a1 = document.createElement('a');
a1.innerHTML = "编辑";
            a1.className = "td-edit"
                    var a2 = document.createElement('a');
a2.className = "td-delete";
a2.innerHTML = "删除";
$(td3).prepend(a1);
$(td3).append(a2);
$(tr).append(td1);
$(tr).append(td2);
$(tr).append(td3);
$('table tbody').append(tr);
$('.modal,.shade').addClass('hide');
}
}
}) })
}
--------------------------------事件委托------------------------
-----新创建的元素没有绑定js,因为js早已经载入完毕,这是可以通过事件委托给他绑定:
function  bindTdEditEvent() {
/*
$('td .td-delete').click(function () {
$('.remove,.shade').removeClass('hide');
})
*/
$('tbody').on('click', '.td-edit', function () {
$('.model,.shadow').removeClass('hide');
SUBMIT_URL = "/up_classes.html";
/*
var tds = $(this).parent().prevAll();
$('.modal input[name="caption"]').val(tds[0].innerText);
$('.modal input[name="id"]').val(tds[1].innerText);
*/
$(this).parent().prevAll().each(function () {
var text = $(this).text();
var name = $(this).attr('alex');
$('.model input[name="' + name +'"]').val(text);
}) })
} ---------------------------------------------------- 分页实现(自定义,非插件)
---------------------------------------------------

django建立管理系统之五----单页ajax数据交互的更多相关文章

  1. 前端 SPA 单页应用数据统计解决方案 (ReactJS / VueJS)

    前端 SPA 单页应用数据统计解决方案 (ReactJS / VueJS) 一.百度统计的代码: UV PV 统计方式可能存在问题 在 SPA 的前端项目中 数据统计,往往就是一个比较麻烦的事情,Re ...

  2. 弹出层和ajax数据交互

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs& ...

  3. SpreadJS V13.0发布,聚焦表单设计与数据交互,让您的工作效率突飞猛进!

    纯前端表格控件SpreadJS,是一款成功应用于华为.招商银行.天弘基金.苏宁易购等国内外知名企业的前端开发工具,其带来的价值不仅体现在帮助开发人员在其Web应用程序中快速构建 Web Excel . ...

  4. Django学习笔记(8)——前后台数据交互实战(AJAX)

    这里将自己这段时间学习的关于前后台数据交互的笔记写在这里,这里包含了Django传输数据给JS,AJAX的相关问题,跨域问题,如何解决AJAX的跨域问题等等.比较凌乱,请看到这篇博客的盆友见谅,如果我 ...

  5. VueJS搭建简单后台管理系统框架 (二) 模拟Ajax数据请求

    开发过程中,免不了需要前台与后台的交互,大部分的交互都是通过Ajax请求来完成,在服务端未完成开发时,前端需要有一个可以模拟Ajax请求的服务器. 在NodeJs环境下,通过配置express可访问的 ...

  6. DEDECMS之五 单页

    在网站开发中经常碰到关于我们.联系方式等简单的页面,那么在DEDECMS中如何实现? 一.效果 以上左侧导航的链接都是单页,右边为内容部分 二.单页的实现 创建频道封来实现 1.常规选项 2.高级选项 ...

  7. ajax数据交互

    目录 一.ORM查询优化 1-1. only与defer 1-2. select_related与prefatch_related 二.MTV与MVC模型 三.choices参数 四.AJAX 4-1 ...

  8. Struts2与Ajax数据交互

    写在前面: ajax请求在项目中常常使用,今天就平时掌握的总结一下,关于使用ajax请求到Struts2中的action时,前台页面与后台action之间的数据传递交互问题. 这里我主要记录下自己所掌 ...

  9. Django框架form表单配合ajax注册

    总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 下面是写的登录页面的实例 1:views视图中的代码 # 注册页面 def regi ...

随机推荐

  1. Ymodem协议说明

      模块的固件烧录过程,由Term(发送方)发送固件文件,模块(接收方)接收并写入MCU,期间使用的数据传输协议是ymodem协议. 一.概述 ymodem协议是一种发送并等待的协议,即发送方发送一个 ...

  2. css 动态线条制作方案

    利用 :before   or    :after  在元素中添加线条样式: 设置样式的过渡效果属性值: 改变width,left,transform等属性值,设置鼠标移入:hover 效果: li: ...

  3. ThingJS平台制作第一人称视角下的巡更效果

    今天想要做一个类似巡更的过程,就像是在学校保安巡更,小区保安巡更一样.巡更需要用到相应的场景,比如说:园区.学校.超市以及工厂等等,然后需要规划好路线也就是巡更的路线,并且视角要跟随路线来变换,从而达 ...

  4. mysql Table 'user' is marked as crashed and should be repaired

    myisamchk -f x:\xxxxxxxxx\MySQL\data\mysql\*.MYI

  5. angularJS+KindEditor无法获取或清空textarea的值

    在html页面中初始化KindEditor: <script type="text/javascript"> var editor; KindEditor.ready( ...

  6. 第八周博客作业 <西北师范大学| 周安伟>

    第八周博客作业 助教博客链接https://home.cnblogs.com/u/zaw-315/ 作业要求博客链接https://www.cnblogs.com/nwnu-daizh/p/10687 ...

  7. Android 菊花加载工具类

    先看看实现效果图 1.首先自定义一个类继承系统ProgressDialog /** * Created by hanbao0928 on 2018/11/1. */ public class Dial ...

  8. SQL数据库索引理解与应用【转贴--收藏】

    SQL数据库中索引分为聚集索引(CLUSTERED)和非聚集索引(NONCLUSTERED)两种. 聚集索引确定表中数据的物理顺序,它就类似与电话簿,按照姓氏排列数据.由于聚集索引规定数据表中的物理顺 ...

  9. vue小结

    一:MVVM模型的理解 Model:数据模型,数据和业务逻辑都在这里定义:View代表视图,负责数据的展示:ViewModel:负责监听model中数据的改变并且控制视图的更新,处理用户交互操作:Mo ...

  10. 【转载】在linux下别用zip 用tar来压缩文件 zip解压后还是utf-8 window10是GBK

    3.2 使用 unzip 命令解压缩 zip 文件 将 shiyanlou.zip 解压到当前目录:   $ unzip shiyanlou.zip 使用安静模式,将文件解压到指定目录:   $ un ...