利用ajax修改删除页面数据,使用Jquery的Ajax实现无刷新更新,修改,删除页面

article/2025/9/11 23:49:47

本文将向大家讲述一下最近工作的一些总结,主要包括了以下内容,注册界面以及详细信息界面的编辑。主要是介绍了AJAX技术,因为我觉得其他方面没什么好介绍的。首先是跟大家说一下Ajax的优点,假如你删除了一个页面的内容,你想当于点击了一个按钮,那么这个页面必然发生了回发事件,也就是说,你的页面必然被刷新了一次。以下是我从网上找来的一张Ajax的原理图,本人PS技术太差了,所以索性从网上找算了。

e74d9f1374310dfb0fac019a81e65b21.png

其实我个人对于Ajax技术的理解并没有上面图那么复杂,我觉得Ajax就是首先发一个get或者post的请求给一个专门处理ajax数据访问层的页面,然后这个页面再Response.wiret有用的数据回传给要修改数据的页面,就这么简单。如下面的代码,用jquery写的。先发一个请求给一个专门的页面,带上ID值(当然这个根据具体的业务需求来定),然后在这个RefreshImage页面Respon.write查询出来的数据,然后再填充到相对应的DIV当中去。

71d00cbce529241d73fe5b08bb1782c0.png

置于RefreshImg是一个刷新的页面,我把代码放出来,其实很简单。就是返回字符串。

using System;

using System.Collections.Generic;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data;

public partial class register_RefreshImg : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

string images = ShowImages(Request["idw"]);

Response.Write(images); //输出,相当于再次进行查询操作,使用了下面的showImages方法

}

private string ShowImages(string images)

{

cs.Common.Web.BasePage bp = new cs.Common.Web.BasePage();

//先查出CID对应的所有

string sqlCid = "select * from t_sys_userupload where id='" + images + "'";

DataSet setCid = bp.DataManager.Fill(sqlCid);

string cid="";

foreach (DataRow Row in setCid.Tables[0].Rows)

{

cid = Row["cid"].ToString();

break;

}

string sql1 = "select * from t_sys_userupload where cid='" + cid + "'";

DataSet ds1 = bp.DataManager.Fill(sql1);

string s = "";

if (ds1 != null && ds1.Tables.Count > 0 && ds1.Tables[0].Rows.Count > 0)

{

foreach (DataRow dr in ds1.Tables[0].Rows)

{

s += "

%22%20+%20dr%5B%22imageurl%22%5D.ToString()%20+%20%22 " + (dr["title"].ToString().Length > 10 ? dr["title"].ToString().Substring(0, 7) + "..." : dr["title"].ToString()) + "
hide2.png%5C%22
";

}

}

return s;

}

}

唯一需要注意的就是aspx页面里不能有任何数据,只能有第一行,否则就会输出其他的无关的东西。如下图:

68718d878a384b3b1fd13599dedc098b.png

上面的只是一个示例而已,具体的删除,更新,或者插入都是一个模式,还有一点需要注意,如果你使用了删除,修改的AJAX的话,那么当页面第一次载入时候的DOM将会无效。比如你删除了一个图片,然后向再修改其他图片的话,那么就不会有用,唯一的办法就是重新载入DOM,如下图的onHover方法就是。

c165cb55b232d616b1d0c8bfbb28cb47.png

下面是OnHover的代码,重新应用了DOM树。

//鼠标移上去展示边框

function onHover()

{

鼠标滑过

$(".imgBorder").hover(function () {

$(this).attr("style", "border:2px solid red")

});

//鼠标滑出

$(".imgBorder").mouseout(function () {

$(this).attr("style", "border:0px solid red")

});

$(".imgBorder").click(function () {

$("#").val($(this).attr("id")); //把ID赋入隐藏域

//alert($("#").val());

window.open("ProductDetails.aspx?id=" + $(this).attr("id"), "产品修改界面", 'height=300,width=500,top=200,left=200,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no');

//window.showModalDialog("ProductDetails.aspx?id=" + $(this).attr("id"),"", "dialogWidth=500px;dialogHeight=200px");

});

}

具体的修改和删除我就不多累赘了,就是改一句SQL的问题。

还给大家补充最后一点,如果弹出窗口想要调用父窗口的方法,就用window.opener.xxx()就OK了,当然前提是你的窗口是用window.open方式打开的。

因为假如你想在弹出窗实现刷新弹出窗修改内容刷新父窗口内容,就要用到上述方法。

另外大家可能还会碰到一个小BUG,就是删除操作以后,就算是不刷新页面,页面也会回到顶部,其实这个问题很简单,只要在JS方法的最后加上一句return false就行了。然后这个方法onclientclick的时候return xxx()就行了。

window.history.pushState与ajax实现无刷新更新页面url

ajax能无刷新更新数据,但是不能更新url HTML5的新API: window.history.pushState, window.history.replaceState 用户操作history ...

jQuery+php+ajax实现无刷新上传文件功能

jQuery+php+ajax实现无刷新上传文件功能,还带有上传进度条动画效果,支持图片.视频等大文件上传. js代码


http://chatgpt.dhexx.cn/article/knpMPdmi.shtml

相关文章

代码修改RecyclerView的scrollbar颜色

因为scrollbar是view的私有内部类,所以需要动态修改RecyclerView的scrollbar颜色, 只能通过反射获取scrollbar的drawable,然后用反射着色,亲测可用,代码直接粘贴就可使用。 import android.content.Context; import an…

lvgl v8之Styling the scrollbars

Styling the scrollbars /** * Styling the scrollbars */ static void lv_example_scroll_4(void) {lv_obj_t* obj lv_obj_create(lv_scr_act()); // 创建obj对象lv_obj_set_size(obj, 200, 100); // 设置大小lv_obj_center(obj); // 居中显示lv_obj_t* label lv_…

react-custom-scrollbars 滚动条组件的简单实现

滚动条组件 参考:gitHub API说明以及大佬的API中文讲解 import "./styles.css"; import React, { useState, useEffect, useRef, useMemo } from "react"; import { Scrollbars } from "react-custom-scrollbars";export default fu…

用react-custom-scrollbars插件美化 Ant Design Table 滚动条

Ant Design Table 自带的滚动条不太美观,我们来用react-custom-scrollbars插件给它美化一下。 先看一下最终的效果,增加一下信心: 安装 react-custom-scrollbars 不多说了,直接安装插件 npm install react-custom-scrollbars -…

说说react-custom-scrollbars插件在react hooks版本中的使用

react-custom-scrollbars插件 读前说明基本使用属性介绍onScrollrenderViewrenderThumbVerticalautoHideautoHideTimeout 读前说明 github地址:https://github.com/malte-wessel/react-custom-scrollbars 作用: 快速实现被包裹区域的滚动效果 关于本…

ScrollView动态更改ScrollbarVisibility属性的Bug

原因: 启动之后发现效果并非预设的那样,原因是因为设置成Permanent后,Viewport的rectTranform发生了变化,导致不会像预设那样实现效果 结论: 最好不要动态更改ScrollbarVisibility,若一定要更改则还要额外写死Viewport…

学习子网掩码

一.子网掩码 1.含义 子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。 子网掩码是一个3…

# 子网掩码

子网掩码 1、概念简介   子网掩码又叫网络掩码、地址掩码,是一个32位地址,用于屏蔽IP地址的一部分以区别网络号和主机号,并说明该IP地址是在局域网上,还是在远程网上。子网掩码不能单独存在,它必须结合IP地址一起使…

IP与子网掩码

目录 一.IP 1.IP地址 2.IP地址的分类 二.子网掩码 1.子网掩码由32个二进制位表示 2.IP地址和子网掩码作“逻辑与”运算得到网络地址 3.网络中不同主机之间通信 4.A、B、C三类地址的默认子网掩码 5.子网划分的原因 6.子网划分的原理 7.子网掩码及相关参数对应表 8.I…

计算机子网掩码作用,什么是子网掩码?子网掩码的作用是什么?

网络工作人员经常需要处理ip和子网掩码等. 我相信大多数朋友都知道IP的含义,但仍然不了解子网掩码的含义. 希望在了解子网掩码的相关知识的基础上,希望对网络感兴趣的用户能学到一些东西. 什么是子网掩码? 子网掩码也称为网络掩码&#xff0c…

将子网掩码取反_子网掩码

1 基本介绍 子网掩码(subnet mask)是每个使用互联网的人必须要掌握的基础知识,只有掌握它,才能够真正理解TCP/IP协议的设置。以下我们就来深入浅出地讲解什么是子网掩码。 子网掩码——屏蔽一个IP地址的网络部分的“全1”比特模式。对于A类地址来说,默认的子网掩码是255.0.0…

计算机子网掩码在线,子网掩码计算器

华军软件园提供的这款子网掩码计算器可以很方便的计算子网掩码,它包含了五款经典的子网掩码计算工具,您可以自由选择,网管必备!子网掩码计算器可以自动划分A、B、C类IP,可以输出划分后的子网掩码、子网位、最多子网数、主机位、最多主机数以及所有的子网列表,并可以将结果…

计算机子网掩码作用,什么是子网掩码 子网掩码的作用是什么?

网络工作人员经常需要与ip和子网掩码等打交道,相信绝大数的朋友都知道IP的意思,但是还不理解子网掩码的意思,下面装机之家小编来为大家介绍下关于子网掩码的相关知识,希望能够对网络感兴趣的用户有所学习。 什么是子网掩码&#x…

Swift: 实现JSON转Model - HandyJSON

很多时候,我们从服务端请求下的数据都是Json格式,我们需要拿这些数据显示到我们的UI界面。 因此,我们的做法基本都会先将json转为方便使用的数据模型,或者也可以直接转字典解决。 在OC中,我们有很多优秀的第三方库帮助…

项目剖析03-swift 网络请求Moya+HandyJSON+RxSwift

项目第一版网络框架用的是siesta,它的缓存与自动刷新确实很好用而且代码很简洁,但是在文件的上传与下载以及对返回类型需要精确匹配要求这方面就很不友好,所以在第二版的我选择了Moya,它是一个网络抽象层,它在Alamofire基础上提供了一系列的抽…

HandyJSON阅读笔记

2019独角兽企业重金招聘Python工程师标准>>> HandyJSON仓库: https://github.com/alibaba/HandyJSON HandyJSON 花了一天半的时间大概阅读学习了一下阿里巴巴开源的HandyJSON库, 只能说是简单的了解一下, Swift Runtime相关的代码没有深入了解. 但是, 收获还是满满的…

iOS swift Alamofire+HandyJSON网络框架封装

iOS swift AlamofireHandyJSON网络框架封装 我们在学习Objective_C时使用的网络框架是AFNetworkingMJExtension,而在swift中AlamofireHandyJSON取代了它,如果你是第一次学习和尝试封装swift的网络框架,可能会遇到一些坑,但踩过这些…

Swift 类似HandyJSON解析Struct

Swift 类似HandyJSON解析Struct HandyJSON从源码解析Struct获取TargetStructMetadata获取TargetStructDescriptor实现TargetRelativeDirectPointerFieldDescriptor和FieldRecordfieldOffsetVectorOffset计算偏移量 代码的验证 HandyJSON HandyJSON是阿里开发的一个在swift上把…

HandyJSON:Swift语言JSON转Model工具库

背景 JSON是移动端开发常用的应用层数据交换协议。最常见的场景便是,客户端向服务端发起网络请求,服务端返回JSON文本,然后客户端解析这个JSON文本,再把对应数据展现到页面上。 但在编程的时候,处理JSON是一件麻烦事。…

HandyJSON和SwiftyJSON的应用

2019独角兽企业重金招聘Python工程师标准>>> 1. HandyJSON的应用 想要通过HandyJSON实现序列化和反序列化, 必须实现HandyJSON协议, 不需要继承NSObject对象, 实现协议必须实现public init(){} 方法. 序列化和反序列化支持struct和enumerate类型. HandyJSON可支持非…