异步显示数据实例

[size=medium][color=red]原生的 Javascript[/color][/size]


<script src="js/ajax.js" type="text/javascript"></script>
<script type="text/javascript">
function fun(){
var reqUrl = "ashx/GetData.ashx";
if(GetObj("oDiv").innerHTML.length == 0){
oHttp.Get(reqUrl, "loadding", showinfo);
}
}
function showinfo(context){
if(context != "0"){
var reqObj = eval(context);
var tbRow = "";
for(var i = 0; i < reqObj.length; i++){
tbRow += "<tr><td>"+reqObj[i].dealerid+"</td><td>"+reqObj[i].dealername+"</td></tr>";
}
GetObj("oDiv").innerHTML = "<table>"+tbRow+"<table>";
}
else{
GetObj("oDiv").innerHTML = "<span style=\"color:#F00;\">暂无数据</span>";
}
}
</script>



/**
* Ajax.js
* @author DylanChan
*/
var oHttp =
{
XMLHttpRequest:function()
{
try
{
//创建XMLHttpRequest对象
var request = new XMLHttpRequest();
return request;
}
catch(ex)
{
var arrXMLHttpRequest = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
for(var i = 0; i < arrXMLHttpRequest.length; i++)
{
try
{
var request = new ActiveXObject(arrXMLHttpRequest[i]);
return request;
}
catch(oError)
{}
}
}
throw new Error("MSXML Is Not Installed On Your System!");
},
Get:function(requestURL, loadDiv, fnCallBack)
{
//获取XMLHttpRequest对象
var oRequest = oHttp.XMLHttpRequest();
if(oRequest)
{
//oRequest.open():创建新的Http请求,并指定此请求的提交方法,URL,以及验证信息
//get:用“Get”方式发送数据,只能256K
//requestURL:请求的URL,可以为绝对地址,或相对地址
//true:指定此请求方式为异步方式
oRequest.open("get", requestURL, true);
document.getElementById(loadDiv).innerHTML = "<img src=\"img/loadding.gif\" alt=\"loadding...\" style=\"width:39px; height:39px;\" />";
oRequest.onreadystatechange = function()
{
//0 - XMLHttpRequest对象还没有完成初始化,还没有调用send()方法
//1 - XMLHttpRequest对象开始发送请求(载入)已调用send()方法,正在发送请求
//2 - XMLHttpRequest对象的请求发送完成(载入完成)send()方法执行完成,已经接收到全部响应内容
//3 - XMLHttpRequest对象开始读取服务器的响应(交互)正在解析响应内容
//4 - XMLHttpRequest对象读取服务器响应结束(完成)响应内容解析完成,可以在客户端调用了
if(oRequest.readyState == 4)
{
if(oRequest.status == 200)
{
if(fnCallBack)
{
document.getElementById(loadDiv).style.display = "none";
fnCallBack(oRequest.responseText);
}
}
}
}
oRequest.send(null);
}
}
}


[color=red][size=medium]Jquery.Ajax 版[/size][/color]


<script type="text/javascript">
function fun(){
var reqUrl = "ashx/GetData.ashx";
var reqUrl = "ashx/GetData.ashx";
var oDiv = $("#oDiv");
var userinfo = $("<table id=\"otb\"></table>");
var oTable = $("#otb");
if(oTable.length == 0){
oDiv.append(userinfo);
$.ajax({
url : reqUrl,
dataType : "json",
beforeSend : function(){
//加载动态的loadding图片
GetObj("loadding").innerHTML = "<img src=\"img/loadding.gif\" alt=\"loadding...\" style=\"width:39px; height:39px;\" />";
},
success : function(data){
$(data).each(function(){
var tbRow = $("<tr><td>"+this.dealerid+"</td><td>"+this.dealername+"</td></tr>");
$("#otb").append(tbRow);
});
},
complete : function(){
//数据加载完成后隐藏 loadding 层
GetObj("loadding").style.display = "none";
}
});
}
}
</script>


[color=red][size=medium]Jquery.getJSON 版[/size][/color]


<script type="text/javascript">
function fun(){
var reqUrl = "ashx/GetData.ashx";
var oDiv = $("#oDiv");
var userinfo = $("<table id=\"otb\"></table>");
var oTable = $("#otb");
if(oTable.length == 0){
oDiv.append(userinfo);
$.getJSON(reqUrl, function(json){
$(json).each(function(){
var tbRow = $("<tr><td>"+this.dealerid+"</td><td>"+this.dealername+"</td></tr>");
$("#otb").append(tbRow);
});
});
}
}
</script>



<input type="button" onclick="fun()" value="查询" /><div id="loadding"></div>
<div id="oDiv"></div>


[size=medium][color=red]Ashx文件[/color][/size]

string sql = "select dealerid, dealername from dealers";
System.Data.DataTable dt = DAL.DBConnection.GetDataSet(sql);
System.Text.StringBuilder sHtml = new System.Text.StringBuilder();
if (dt != null && dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
if (i != dt.Rows.Count - 1)
{
sHtml.Append("{\"dealerid\":\"" + dt.Rows[i]["dealerid"].ToString() + "\", \"dealername\":\"" + dt.Rows[i]["dealername"].ToString() + "\"},");
}
else
{
sHtml.Append("{\"dealerid\":\"" + dt.Rows[i]["dealerid"].ToString() + "\", \"dealername\":\"" + dt.Rows[i]["dealername"].ToString() + "\"}");
}
}
context.Response.Write("[" + sHtml.ToString() + "]");
}
else
{
context.Response.Write("0");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值