示例一:利用Ajax来动态获取时间的例子。
HTML代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script type="text/javascript" src="/UploadFiles/2021-04-02/jquery-1.7.1.js">创建一个“一般处理程序”来处理前台请求,返回系统当前时间:
Handler.ashx
<%@ WebHandler Language="C#" Class="Handler" %> using System; using System.Web; using System.Linq; using System.Collections.Generic; using System.Text; public class Handler : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.Write(ShowTime()); } public bool IsReusable { get { return false; } } public static string ShowTime() { return DateTime.Now.ToString(); } }
js代码:
function btnclick() { var httprequest = null; // 初始化XMLHttpRequest对象 if (window.XMLHttpRequest) { // Firefox等现代浏览器中的XMLHttpRequest对象创建 httprequest = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE中的XMLHttpRequest对象创建 httprequest = new ActiveXObject("Microsoft.XMLHTTP"); } if (!httprequest) { alert("创建httprequest对象出现异常!"); } httprequest.open("POST", "Handler.ashx", true); //httprequest向handler发送post请求,最后参数是设定是否为异步请求,true为异步,false为同步 httprequest.onreadystatechange = function () { //指定onreadystatechange事件句柄对应的函数 if (httprequest.readyState == 4) { //4代表服务器返回完成 if (httprequest.status == 200) { //200代表成功了 document.getElementById("text1").value = httprequest.responseText; //responsetext表示服务器返回的文本,还有一种方式是responseXML是为了获取服务器返回的xml } else { alert("AJAX服务器返回错误!"); } } } httprequest.send(); //在这里才真正的向服务器端发送请求 }我们用jquery来前台js代码会变得十分简洁:
基于jquery编写的js代码:
注意:HTML代码要把button的onclick事件去掉,因为我们直接在js用了事件绑定。
$(document).ready(function () { //button1绑定事件 $("#Button1").bind("click", function () { $.ajax({ url: "Handler.ashx", type: "POST", success: function (data) { //$("#text1").val(data); document.getElementById("text1").value = data; } }); }); });
不得不说jquery“简约而不简单”……
jquery中的$.ajax集合了get、post方法,默认的是get。
如果直接用POST的话,代码更简单
$(document).ready(function () { //button1绑定事件 $("#Button1").bind("click", function () { $.post("Handler.ashx", function (data) { document.getElementById("text1").value = data; }); }); });示例二:
一、XMLHttpRequest实现获取数据
不使用jQuery实现页面不刷新获取内容的方式,我们这里采用XMLHttpRequest原生代码实现;
js代码如下:
//1.获取a节点,并为其添加Oncilck响应函数 document.getElementsByTagName("a")[0].onclick = function(){ //3、创建一个XMLHttpRequest(); var request = new XMLHttpRequest(); //4、准备发送请求的数据url var url = this.href; var method = "GET"; //5、调用XMLHttpRequest对象的open方法 request.open(method,url); //6、调用XMLHttpRequest对象的send方法 request.send(null); //7、为XMLHttpRequest对象添加onreadystatechange 响应函数 request.onreadystatechange = function(){ //8、判断响应是否完成:XMLHttpRequest 对象的readystate的属性值为4的时候 if(request.readyState == 4){ //9、在判断响应是否可用:XMLHttpRequest 对象status 属性值为200 if(request.status == 200){ //10、响应结果 alert(request.responseText); } } } //2、取消a节点的额默认行为 return false; }插入HTML代码:
<a href = "hello.txt">点击获取文本内容</a>二、jQuery实现ajax获取信息
这个例子是动态的从后台获取数据来改变下拉按钮的内容;
js代码如下:
function bindCarteam0(){ //通过URL请求数据 var URL = <select:link page="/xiaoshouwl.do"/>; $.ajax({ url:URL, type:'GET', dataType: "json", success:function(html){ var str="<option value='-1'>全部</option>"; for(var i=0;i<html.length;i++){ str+="<option value='"+html[i].id+"'>"+html[i].name+"</option>"; } $("#carteam_code").empty().html(str); } }); }HTML代码如下:
<select:select property="carteam_code" styleId="carteam_code" style="width:150px"> <select:option value="-1">全部</select:option> </select:select>其中type类型有get和post两种;
post 可以传输的数据量比较大,get有字节限制;
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。