数往知来 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 ...
随机推荐
- USACO Section 2.1: Hamming Codes
挺简单的一道题 /* ID: yingzho1 LANG: C++ TASK: hamming */ #include <iostream> #include <fstream> ...
- postgreSQLG关闭活动的connection、删除活动的数据库
First, find the activities that are taken place against the target database, you can query thepg_sta ...
- YTU 2607: A代码填空题--更换火车头
2607: A代码填空题--更换火车头 时间限制: 1 Sec 内存限制: 128 MB 提交: 91 解决: 73 题目描述 注:本题只需要提交填写部分的代码,请按照C++方式提交. 假设火车有 ...
- poj - 2377 Bad Cowtractors&&poj 2395 Out of Hay(最大生成树)
http://poj.org/problem?id=2377 bessie要为FJ的N个农场联网,给出M条联通的线路,每条线路需要花费C,因为意识到FJ不想付钱,所以bsssie想把工作做的很糟糕,她 ...
- html5 canvas移动设备渲染测试
最近项目闲着没什么事,又想起了canvas, 针对移动端设备默认浏览器,做了点渲染方面效率的测试,手头设备不多(有一些低端机型和pc chrome做对比),现将测试数据分享给大家吧,本想和css3 a ...
- iOS XMPP Framework 中文概述
本篇文章翻译XMPP Framework中的Overview of the XMPP Framework部分 介绍 The framework is divided into 2 parts: 1. ...
- Android WebView保存Cookie登录
因项目需要,需要在App中嵌入网页,使用Nativie方式登录,然后将cookie保存到WebView中,实现免登录功能.同步Cookie到WebView的方法网上有大量的参考资料,也可以参考下面的代 ...
- 最小生成树之Kruskal
模板题,学习一下最小生成树的Kruskal算法 对于一个连通网(连通带权图,假定每条边上的权均为大于零的实数)来说,每棵树的权(即树中所有边的权值总和)也可能不同 具有权最小的生成树称为最小生成树 生 ...
- 点滴积累【SQL Server】---SQL语句操作约束
说明: --主键约束(Primary Key constraint):要求主键列的数据唯一,并且不允许为空. --唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个 ...
- POJ 2084 Game of Connections
卡特兰数. #include<stdio.h> #include<string.h> ; ; void mul(__int64 a[],int len,int b) { int ...