数往知来 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 ...
随机推荐
- 卷积神经网络CNN全面解析
卷积神经网络(CNN)概述 从多层感知器(MLP)说起 感知器 多层感知器 输入层-隐层 隐层-输出层 Back Propagation 存在的问题 从MLP到CNN CNN的前世今生 CNN的预测过 ...
- AngularJs-ui modal 传参数
最近开始学习 AnjularJs: 看了两天项目的代码开始动手完成项目中的功能,碰到些问题记录下备忘:方便以后再碰到这样疑惑的coder. 参见 Angular-ui modal 传递 header ...
- Xcode使用版本
Xcode6中创建分类.协议等文件的方法 Xcode 5.1.1 与 Xcode 6.0.1 的共存之路 http://jingyan.baidu.com/article/1612d500457df1 ...
- PHP empty函数判断0返回真还是假?
最近项目中,遇到一个字段是 “是否启用”值为0,1 在查询时没想就写了 if ( isset($args_array['useFlg']) && !empty($args_array[ ...
- getHitRect获取点击控件的位置
public void getHitRect(Rect outRect) Added in API level 1 Hit rectangle in parent ...
- CSS 中定位的使用
position relative 设置区块基准点为左上角(相对定位 以区块的左上角为基准点 仍然会暂居原来的位置) a.不影响元素本身的特性: b.不使元素脱离文档流: c.如果没有定位偏移量,对元 ...
- ORG 07C00H的意思
简单说来,该指令用来修正该指令以后出现的(变量/标志的)内存地址,也就是说如果有ORG 0x12345h,那么在该指令以后的变量的地址将被修正为0x12345+old_addr.对于DOS中的COM文 ...
- 浅谈配置chrome浏览器允许跨域操作的方法
浅谈配置chrome浏览器允许跨域操作的方法 一:(Lying人生感悟.可忽略) 最近有一天,对着镜子,发现满脸疲惫.脸色蜡黄.头发蓬松.眼神空洞,于是痛诉着说生活的不如意,工作没激情,工资不高,一个 ...
- asp.net webpage
一.服务器脚本基础介绍 首先,我们先复习一下Web服务器页面的基本执行方式: 1. 客户端通过在浏览器的地址栏敲入地址来发送请求到服务器端 2. 服务器接收到请求之后,发给相应的服务器端页面(也就是脚 ...
- 模拟实现STL中的list
#pragma once #include<iostream>using namespace std;#include<assert.h> template<class ...