数往知来 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 ...
随机推荐
- 蓝缘管理系统第三版推出。springMVC4.0+shiro1.2.3+spring4.x+Mybaits3.2.8
blog.csdn.net/mmm333zzz/article/details/42059349 http://blog.csdn.net/zoutongyuan/article/details/41 ...
- PHP 对象和数组互相转换
最简单的:$array = (array)$object; 但是, 如果对象的属性也是个对象的话, 就转换不了了, 就是说PHP的强制类型转换不能把对象属性中的对象转换成数组的下一个维度的数组, 刚刚 ...
- nova读取配置文件流程
在我们安装nova的过程中,设置它的配置文件/etc/nova/nova.conf是必不可少的一步.配置好nova.conf文件,nova-compute.nova-network等服务才 ...
- hdu 4565 So Easy!(矩阵+快速幂)
题目大意:就是给出a,b,n,m:让你求s(n); 解题思路:因为n很可能很大,所以一步一步的乘肯定会超时,我建议看代码之前,先看一下快速幂和矩阵快速幂,这样看起来就比较容易,这里我直接贴别人的推导, ...
- HttpClient 4.x 执行网站登录并抓取网页的代码
HttpClient 4.x 的 API 变化还是很大,这段代码可用来执行登录过程,并抓取网页. HttpClient API 文档(4.0.x), HttpCore API 文档(4.1) pack ...
- C# treeview控件部分节点添加checkbox
一.先初始化treeview this.treeView1.CheckBoxes = true; this.treeView1.ShowLines = false; this.treeView1.Dr ...
- Gumshoe - Microsoft Code Coverage Test Toolset
Gumshoe - Microsoft Code Coverage Test Toolset 2014-07-17 What is Gumshoe? How to instrument a binar ...
- Android uiautomator gradle build system
This will guide you through the steps to write your first uiautomator test using gradle as it build ...
- 函数lock_rec_get_n_bits
/*********************************************************************//** Gets the number of bits i ...
- .NET 实现异步处理的集中方式
对于异步,相信大家都不十分陌生.准确点来说就是方法执行后立即返回,待到执行完毕会进行通知.就是当一个任务在执行的时候,尤其是需要耗费很长的时间进行处理的任务,如果利用单线程进行操作的话,势必造成界面的 ...