数往知来 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 ...
随机推荐
- springboot源码解析 - 构建SpringApplication
1 package com.microservice.framework; 2 3 import org.springframework.boot.SpringApplication; 4 impor ...
- Java数据结构之排序
1.冒泡排序:时间复杂度为O(n2) 假设是由小到大排序:相邻两个数之间进行比较,较大的数在后面.一次比较过后最大的数排在最后面 如:40.8.15.18.12一次排序后为:8.15.18.12.40 ...
- ISO 8601
ISO 8601 國際標準化組織的国际标准ISO 8601是日期和时间的表示方法,全称为<数据存储和交换形式·信息交换·日期和时间的表示方法>.目前是第三版ISO8601:2004以替代第 ...
- NDK(0)简介
AndroidNDK Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”. 众所周知,Android程序运行 ...
- leetcode:Summary Ranges
Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...
- D3D中深度测试和Alpha混合的关系
我在学习D3D的深度测试和Alpha混合的时候,有一些遗憾.书上提供的例子里说一定要先渲染不透明物体,再渲染透明物体,对渲染状态的设置也有特殊要求.我看的很晕.自己查图形学的书,上网找资料,结果还是糊 ...
- JS Scoping and Hoisting
参考了这篇文章 http://www.jb51.net/article/30719.htm var v='Hello World'; (function(){ console.log(v); })() ...
- SQL注入实验,PHP连接数据库,Mysql查看binlog,PreparedStatement,mysqli, PDO
看到有人说了判断能否sql注入的方法: 简单的在参数后边加一个单引号,就可以快速判断是否可以进行SQL注入,这个百试百灵,如果有漏洞的话,一般会报错. 下面内容参考了这两篇文章 http://blog ...
- 用AngularJS开发下一代Web应用 系列入门基础教程
开篇介绍 AngularJS是什么东西?我觉得不用再描述了.可自行去充电一下.按照惯例,让我们先看看一个Hello World的开门简介吧. <!doctype html> <htm ...
- UVa 12265 (单调栈) Selling Land
紫书上分析了很多很多,超详细,= ̄ω ̄= 每扫描一行可以计算一个height数组,表示从这块空地向上延伸多少块空地,而且这个数组可以逐行递推. 首先对于每一行来说维护一个单调栈,栈里放的是矩形的左上角 ...