Jquery之Ajax运用 学习运用篇_jquery
还是先说一些基础知识:
语法:$.ajax({option})
option表示参数。以key/value形式出现。
常用参数:type:post/get。
url:发送请求的地址。
data:{object:object} 发送到服务器的数据,必须为key/value格式。可以设置processData属性,不转换数据格式。
success:function(msg){} 请求成功后回调函数。
error:function(msg){} 请求失败后回调函数。
dataType:xml/html/script/json/jsonp 返回的数据类型。
再看实例理解:
1.用Ajax实现无刷新审核功能(点击审核后,LinkButton不可用,并改为已审核)。
界面如下:
这里数据显示用的是Repeater控件,其中审核按钮为LinkButton服务器控件。
页面Html代码:
实现代码如下:
a.脚本代码:
function lbtn_Audit_eShop_Price_Command(obj,orderId)
{
if (obj.innerHTML != "审核") return false;
if (!confirm("确定要审核吗?")) {
return false;
}
$.ajax({
type:"post",//Post发送方式
url:"AjaxTest.aspx",//请求地址为本页面地址
data:{OrderId:orderId,Action:"Single_Review"},//传入数据为订单号以及Action
success:(function(msg){
if(msg!="")
{
var chkId = "OrderId_"+orderId;
document.getElementById(chkId).disabled = "disabled";
obj.disabled = "disabled";
obj.innerHTML = "已审核";
}
})
});
return false;
}
b.服务器代码:
根据Action判断事件的执行。
protected void Page_Load(object sender, EventArgs e)
{
Conn.Open();
//执行动作
string Action = CommFun.Get_Safe_Str(Request["Action"]);
if (!IsPostBack)
{
if (Action == "")
{
rpt_Pro_Order_List_Bind();
}
else if (Action == "Single_Review") //点击审核
{
lbtn_Audit_eShop_Price_Command();
}
else //点击批量审核
{
btn_Batch_Review_eShop_Price();
}
}
}
Repeater绑定数据后,为LinkButton添加onclick属性,用于执行页面脚本代码。
protected void rpt_Pro_Order_List_Bind()
{
……
this.rpt_Review.DataSource = Dt;
this.rpt_Review.DataBind();
for (int i = 0; i {
LinkButton lbtn_Audit_eShop_Price = (LinkButton)this.rpt_Review.Items[i].FindControl("lbtn_Audit_eShop_Price");
if (Dt.Rows[i]["Audit_eShop_Price"].ToString() == "1")
{
lbtn_Audit_eShop_Price.Enabled = false;
lbtn_Audit_eShop_Price.Text = "已审核";
}
else
{
lbtn_Audit_eShop_Price.Enabled = true;
lbtn_Audit_eShop_Price.Attributes.Add("onclick",
"return lbtn_Audit_eShop_Price_Command(this, '" + Dt.Rows[i]["OrderId"].ToString() + "');");
}
}
}
[code]
2.用Ajax实现无刷新批量审核。
注意:这里用到的控件必须是Html控件,否则会引起回发。但在Repeater内部服务器控件也可以使用。
这里只需给input="btton"添加一个onclick属性,直接执行Ajax脚本。
脚本内容如下:
[code]
//批量审核
function Batch_Review()
{
if(!checkSelItem("OrderId","请选择订单!")) return false;
if(!confirm("确定要审核吗?")) return false;
var OrderIds = ""; //记录所有订单号
var elements = document.getElementsByName("OrderId");
for (var m=0; m if(m == elements.length - 1)
{
OrderIds = OrderIds + elements[m].value;
}
else
{
OrderIds = OrderIds + elements[m].value + ",";
}
}
var orderIdArr = OrderIds.split(',');
var newOrderIdStr = "";
var j = 0;//记录选择的订单个数
var position = "";//记录选择的订单位置
for(var i = 0;i
var chk_Id = "OrderId_"+orderIdArr[i];
if($_Id(chk_Id).checked)//记录选中的订单
{
if(i == orderIdArr.length - 1)
{
newOrderIdStr += orderIdArr[i];
position += i;
}
else
{
newOrderIdStr += orderIdArr[i]+",";
position += i + ",";
}
j++;
}
}
newOrderIdStr = RemoveRightComma(newOrderIdStr);//去除末尾逗号后的订单号
position = RemoveRightComma(position);//去除末尾逗号后的位置
$.ajax({
type: "POST",
url: "AjaxTest.aspx",
data: { Order_Id_Arr: newOrderIdStr, Action: "Batch_Review" },
success: function(msg) {
if (msg != "") {
for(var k = 0 ;k
var newOrderIdArr = newOrderIdStr.split(',');
var positionArr = position.split(',');
$_Id("OrderId_"+newOrderIdArr[k]).disabled = "disabled";
if(parseInt(positionArr[k]){
$_Id("rpt_Review_ctl0"+parseInt(positionArr[k])+"_lbtn_Audit_eShop_Price").innerHTML = "已审核";
$_Id("rpt_Review_ctl0"+parseInt(positionArr[k])+"_lbtn_Audit_eShop_Price").disabled = "disabled";
}
else
{
$_Id("rpt_Review_ctl"+parseInt(positionArr[k])+"_lbtn_Audit_eShop_Price").innerHTML = "已审核";
$_Id("rpt_Review_ctl"+parseInt(positionArr[k])+"_lbtn_Audit_eShop_Price").disabled = "disabled";
}
}
}
}
})
return true;
}
//去除右边逗号
function RemoveRightComma(str)
{
if(str == "") return;
var i;
for(i = str.length-1;i>=0;i--)
{
//charAt(i)取某一个位置的字符
if(str.charAt(i) != ",") break;
}
//截取字符串,substring(start,stop);返回的结果不包含最后一位
str = str.substring(0,i+1);
return str;
}
至此实例讲解结束。
最后回顾思路:
1.单条审核:在页面初始化时,给审核按钮加上onclick属性,执行页面脚本,单击审核后,后台的page_load事件根据Action选择执行的事件。
2.批量审核: 给批量审核按钮加上onclick属性,执行Ajax脚本,后台的page_load事件同样根据Action选择执行的事件。批量审核按钮必须为Html控件。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

JavaScript是现代Web开发的核心语言,因其多样性和灵活性而广泛应用。1)前端开发:通过DOM操作和现代框架(如React、Vue.js、Angular)构建动态网页和单页面应用。2)服务器端开发:Node.js利用非阻塞I/O模型处理高并发和实时应用。3)移动和桌面应用开发:通过ReactNative和Electron实现跨平台开发,提高开发效率。

本文展示了与许可证确保的后端的前端集成,并使用Next.js构建功能性Edtech SaaS应用程序。 前端获取用户权限以控制UI的可见性并确保API要求遵守角色库

我使用您的日常技术工具构建了功能性的多租户SaaS应用程序(一个Edtech应用程序),您可以做同样的事情。 首先,什么是多租户SaaS应用程序? 多租户SaaS应用程序可让您从唱歌中为多个客户提供服务

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。
