数往知来 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 ...
随机推荐
- Eclipse中遇到The type XXX cannot be resolved. It is indirectly referenced from required .class files错误
原因:某个项目需要的jar包没有导入 参考文章:http://www.blogjava.net/zJun/archive/2007/10/16/153374.html
- Hadoop HDFS文件系统通过java FileSystem 实现上传下载等
package linlintest; import java.io.File; import java.io.FileOutputStream; import java.io.IOException ...
- C# 字符串计算表达式
C# 字符串计算表达式 string str="4+4+2.1"; 要的效果: double sum=4+4+2.1: 方案一: 动态计算表达式: 1 public class ...
- Android 如何处理崩溃的异常
Android中处理崩溃异常 大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试 ...
- python中的列表(list) 切片详解
1.切片: 通过指定下标的方式来获得某一个数据元素,或者通过指定下标范围来获得一组序列的元素,这种访问序列的方式叫做切片. 访问某一个数据元素的的语法如下: sequence[index] ...
- AOJ -0189 Convenient Location && poj 2139 Six Degrees of Cowvin Bacon (floyed求任意两点间的最短路)
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=78207 看懂题就好. 求某一办公室到其他办公室的最短距离. 多组输入,n表示 ...
- WebDriverExtensionsByC#
测试工具//********************************************************************************************** ...
- leetcode:Reverse Linked List II
Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1-> ...
- 基于Linux的oracle数据库管理 part5( linux启动关闭 自动启动关闭 oracle )
主要内容 1. 数据库自动启动与关闭 数据库自动启动与关闭 - 单数据库模式 启动监听器及数据库 启动脚本: #! /bin/bash su - oracle<<EOF lsnrctl s ...
- CreateCompatibleDC与CreateCompatibleBitmap
函数功能:该函数创建一个与指定设备兼容的内存设备上下文环境(DC). 函数原型:HDC CreateCompatibleDC(HDC hdc): 参数: hdc:现有设备上下文环境的句柄,如果该句柄为 ...