数往知来 AJAX Ajax增删改查<十九>
=================================================客户端================================================
<script type="text/javascript"> window.onload = function () { ShowList(); document.getElementById('btnAdd').onclick = InsertLobin; } function ShowList() { var xhr = createXhr(); xhr.open("get", "LobinTable.ashx?type=s", true); xhr.setRequestHeader("); xhr.onreadystatechange = function () { ) { ) { var json = xhr.responseText; var res = eval("(" + json + ")"); var tbl = document.getElementById("tblShow"); ; i < res.length; i++) { var name = res[i].Loginname; var time = ChangeDateFormat(res[i].LoginTime); ); //在table下创建一个新行,并插入到原有行的后面 ); //在行里面创建新列 cellId.innerHTML = res[i].Id; ); cellName.innerHTML = name; ); cellTime.innerHTML = time; ); cellDel.innerHTML = "<a href='javascript:Del(" + res[i].Id + ")'>删除</a>" ); cellAdd.innerHTML = "<a href='javascript:Add()'>添加</a>"; ); cellUpdate.innerHTML = "<a href='javascript:UpdateShow("+res[i].Id+")' >修改</a>"; } } } } xhr.send(null); } //显示修改的内容,定义一个全局变量把修改的id保存起来用于后面提交修改 var cid; //点击修改 function UpdateShow(id) { //当点击修改的时候,把层显示出来 document.getElementById('dv1').style.display = "block"; document.getElementById('btnAdd').value="修改";//把提交按钮的文本改变成“修改” cid = id;//把选中行的id赋给一个全局变量,后面提交修改的函数里可以访问到这个id //获得table var tbl = document.getElementById('tblShow'); ; i < tbl.rows.length; i++) { ].innerHTML == id) {//找到表格里的id和要修改的id相同的一行 document.getElementById(].innerHTML;//把选中行的数据添加到层里面的文本框里 document.getElementById(].innerHTML; break; } } } //添加数据 var xhr = createXhr(); //创建一个HttpXmlRequest //当点击提交按钮的时候触发 function InsertLobin() { var btnText = document.getElementById('btnAdd').value;//获得提交按钮的文本 var txtName = document.getElementById('txtName').value;//获得用户名文本框里的内容 var txtPwd = document.getElementById('txtPwd').value;//获得密码文本框里的内容 var parameter;//要向服务器提交的参数 var type;//要做的操作,添加或修改 if (btnText == "添加") {//判断提交按钮上的文本 type = "i";//告诉服务端要做添加操作 parameter = "txtName=" + txtName + "&txtPwd=" + txtPwd + ""; //添加操作的参数 } else if (btnText == "修改") { type = "u"; parameter = "txtName="+txtName+"&txtPwd="+txtPwd+"&id="+cid+"";//构建修改的参数 } //调用Ajax操作 AjaxHandle(type, parameter); } //调用Ajax function AjaxHandle(type,parameter) { xhr.open("post", "LobinTable.ashx?type="+type+"", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.onreadystatechange = function () { ) { ) { var json = xhr.responseText; switch (json) { ": alert('操作成功!'); var tbl = document.getElementById('tblShow'); ; i < tbl.rows.length; i++) {//清空列表 tbl.deleteRow(i); } document.getElementById('dv1').setAttribute('style', 'display:none'); document.getElementById('txtName').value = ""; document.getElementById('txtPwd').value = ""; ShowList(); break; ": alert('操作失败!'); break; default: alert('出现错误!'); break; } } } } xhr.send(parameter); } //显示添加的层 function Add() { document.getElementById('btnAdd').value = "添加"; document.getElementById('txtName').value = ""; document.getElementById('txtPwd').value = ""; document.getElementById('dv1').setAttribute('style', 'display:block'); } //执行删除 function Del(id) { var xhr = createXhr(); xhr.open("get", "LobinTable.ashx?type=d&id=" + id, true); xhr.setRequestHeader("); xhr.onreadystatechange = function () { ) { ) { var json = xhr.responseText; var res = eval("(" + json + ")"); switch (res.action) { : alert("删除成功!"); DelRow(id); break; : alert("删除失败!"); break; default: break; } } } } xhr.send(null); } //删除前台页面的行 function DelRow(id) { var tbl = document.getElementById('tblShow'); //获取表里的所有行 ; i < tbl.rows.length; i++) { ].innerHTML == id.toString()) { tbl.deleteRow(i); break; } } } ///Date(1326505492000)/---对序列化后的日期进行转换. function ChangeDateFormat(cellval) { )); < ? ) : date.getMonth() + ; ? " + date.getDate() : date.getDate(); return date.getFullYear() + "-" + month + "-" + currentDate; } </script>
=================================================服务端===========================================================================
MyName.BLL.LobinTableBLL ltb = new LobinTableBLL(); public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; string type=context .Request .Params ["type"]; switch (type) { case "s": GetAllData(context); break; case "d": Del(context); break; case "u": Update(context); break; case "i": InsertData(context); break; default: break; } } /// <summary> /// 修改更新数据 /// </summary> /// <param name="context"></param> /// <param name="id"></param> protected void Update(HttpContext context) { MyName.Model. LobinTable lt = new MyName.Model. LobinTable(); lt.Id = Convert.ToInt32(context.Request.Form["id"]); lt.Loginname=context.Request.Form["txtName"]; lt.LoginPwd=context.Request.Form["txtPwd"]; if (ltb.UpdateLobinTable(lt)) { context.Response.Write("); } else { context.Response.Write("); } } /// <summary> /// 添加 /// </summary> /// <param name="context"></param> protected void InsertData(HttpContext context) { MyName.Model.LobinTable lt=new MyName.Model.LobinTable (); lt.Loginname=context.Request.Form["txtName"]; lt.LoginPwd=context.Request.Form["txtPwd"]; if(ltb.AddLobinTable(lt)) { context.Response.Write("); } else { context.Response.Write("); } } /// <summary> /// 删除 /// </summary> /// <param name="context"></param> protected void Del( HttpContext context) { int id = Convert.ToInt32(context .Request.QueryString["id"]); if (ltb.DelLobinTable(id)) { context.Response.Write("{'action':1}"); } else { context.Response.Write("{'action':0}"); } } /// <summary> /// 获取所有数据 /// </summary> /// <param name="context"></param> private void GetAllData(HttpContext context) { List<MyName.Model. LobinTable> list = ltb.GetAllLobinTable(); System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer(); string res = js.Serialize(list); context.Response.Write(res); } public bool IsReusable { get { return false; } } }
数往知来 AJAX Ajax增删改查<十九>的更多相关文章
- ajax参考增删改查
AJAX做增删改查详细! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...
- vue实战(一):利用vue与ajax实现增删改查
vue实战(一):利用vue与ajax实现增删改查: <%@ page pageEncoding="UTF-8" language="java" %> ...
- MVC中的Ajax与增删改查
自入手新项目以来,一直处于加班状态,博客也有两周没更,刚刚完成项目的两个模组,稍有喘息之机,写写关于项目中 的增删改查,这算是一个老生常谈的问题了,就连基本的教材书上都有.刚看书的时候,以为 没什么可 ...
- MVC中的Ajax与增删改查(一)
自入手新项目以来,一直处于加班状态,博客也有两周没更,刚刚完成项目的两个模组,稍有喘息之机,写写关于项目中 的增删改查,这算是一个老生常谈的问题了,就连基本的教材书上都有.刚看书的时候,以为 没什么可 ...
- AJAX做增删改查详细!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- idea原生ajax数据处理(增删改查)
项目名称:Bookstore UI界面 项目文件 操作: jsp代码 <%@ page import="dao.BookDAO" %> <%@ page impo ...
- 通过Ajax实现增删改查
项目链接:https://github.com/shuai7boy/Ajax_CRUD 简要截图:
- MVC中的Ajax与增删改查(二)
上一篇记录的是前台操作,下面写一下后台 ,本来自认为是没有必要做补充,毕竟思路啥的都有,实际上在做删除操作的时候,折腾了一天,还是自己太嫩,逻辑不够严谨,这里作下记录. 关于表结构这里再作下说明: ① ...
- 基于springmvc、ajax,后台连接数据库的增删改查
前言 前段时间在博客园上找了一个springmvc的例子,照着学了一下,算是对springmvc有了一个初步的了解,打一个基础,下面是链接.(我只看了博客,视频太耗时间了) 博客链接:http://w ...
随机推荐
- ajax练习习题三搜索
做一个汽车搜索页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...
- Android之开发杂记(三)
一.popup 弹出框 在onCreate中创建时异常 Unable to add window -- token null is not valid; is your activity runnin ...
- ZOJ Problem Set - 3804 YY's Minions
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5336 比较简单的模拟题,题意也很好理解. #include <iostr ...
- 单元测试之道(使用NUnit)
首先来看下面几个场景你是否熟悉 1.你正在开发一个系统,你不断地编码-编译-调试-编码-编译-调试……终于,你负责的功能模块从上到下全部完成且编译通过!你长出一口气,怀着激动而 又忐忑的心情点击界面上 ...
- php-redis中文文档(转)
phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系 很有用;以下是redis官方提供的命令使用技巧: 下载地址如下: https://github.com/ow ...
- Zookeeper工作原理
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等.Zookeeper是hadoop的一个子项目,其 ...
- UVa 400 Unix Is
题意:给出n个字符串,按照字典序排列,再按照规则输出. ===学习的紫书,题目意思很清楚,求列数和行数最开始看的时候木有看懂啊啊啊 列数:即为(60-M)/(M+2)+1;即为先将最后那一列减去,算普 ...
- codevs 4919 线段树练习4
线段树水题.我是ziliuziliu,我是最强的#include<iostream> #include<cstdio> #include<cstring> #inc ...
- session共享,格式json,php不能简单的设置session.serialize_handler=json,目前只有php,wddx(xml),安装扩展后还有igbinary(二进制)
即使session_save_handler被自己的类或者方法重写,write与read的出入数据都还是被序列化的,而且被session序列化不是一般的序列化...还是不能解解决memcached保存 ...
- 转:移动开发中一些bug及解决方案
网页开发要面对各种各样的浏览器,让人很头疼,而移动开发中,你不但要面对浏览器,还要面对各种版本的手机,iOS好一点,而安卓就五花八门了,你可能在开发中也被它们折磨过,或者正在被它们折磨,我在这里说几个 ...