首页 > 代码库 > Ajax 获取数据代码

Ajax 获取数据代码

无刷新获取字符串:

Html网页中:

<script>

//定义异步对象
var xmlHttp;

//封装方法
function CreateXMLHTTP() {
   try {
            xmlHttp = new XMLHttpRequest();
        } catch (e) {
     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
}
window.onload = function () {
  document.getElementById("name").onclick = function () {

     //创建异步对象
  CreateXMLHTTP();

     //通过事件来接受服务器返回
  xmlHttp.onreadystatechange = function () {

   //判断状态
  if (xmlHttp.readyState==4&& xmlHttp.status==200) {

    //获取你要的数据
    var data = http://www.mamicode.com/xmlHttp.responseText;
    document.getElementById("d1").innerText = data;
      }
    }

     //设置将要访问的服务器地址和方式
    xmlHttp.open("get", "Data.ashx");

    //发送异步请求
    xmlHttp.send();
  }
}
</script>
</head>
<body>
<div id="d1"></div>
<input type="button" id="name" value="http://www.mamicode.com/获取数据" />
</body>

提供数据页:Data.ashx中:

 

public void ProcessRequest (HttpContext context) {
  context.Response.ContentType = "text/plain";

  //线程  过两秒在获取数据
  System.Threading.Thread.Sleep(2000);

    //你提供的数据--》字符串
  context.Response.Write("这你要的数据");
}

-----------------------------------------------------------------------------------------------------------

无刷新获取一张表,然会在静态网页中无刷新删除数据

Html网页中:

<body>
<input type="button" id="name" value="http://www.mamicode.com/获取表" />
<div id="d1"></div>
</body>
</html>
<script>

var xmlHttp;
function CreateHTTP() {
try {
  xmlHttp = new XMLHttpRequest();
  } catch (e) {
  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
}

//把相同的代码封装下
function Common() {
    CreateHTTP();
    xmlHttp.onreadystatechange = function () {
  if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {

    //接受数据--》一张表的字符串
    var table = xmlHttp.responseText;

    //显示在网页中
    document.getElementById("d1").innerHTML = table;
    }
   }
}
document.getElementById("name").onclick = function () {
    Common();
    xmlHttp.open("get", "Table.ashx");
    xmlHttp.send();
}

//删除链接的脚本  
function dd(id) {   //id传过来的删除的ID
    Common();
    xmlHttp.open("get", "Table.ashx?id=" + id);
    xmlHttp.send()
}
</script>

 

提供数据页:Table.ashx中:

public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";

//如果没有传值代表获取一张表
if (context.Request.QueryString["id"]!=null)
{  

   //得到需要删除的ID
  int id = int.Parse(context.Request.QueryString["id"].ToString());
  int r = SQLHelper.ExecuteNonQuery("delete Users where ID=@0", CommandType.Text, id);
  if (r>0)
  {
    Common(context);
  }
}
  else
  {
    Common(context);
  }
}

 //获取一张表的字符串

public void Common(HttpContext context)
{
  SqlDataReader dr = SQLHelper.ExecuteReader("select * from Users", CommandType.Text);
  string newTable = "<table cellspacing=‘0‘ rules=‘all‘ border=‘1‘ id=‘GridView1‘ style=‘border-collapse:collapse;‘><tr><th scope=‘col‘>ID</th>”+

  “<th scope=‘col‘>UserName</th><th scope=‘col‘>Password</th><th scope=‘col‘>Sex</th><th scope=‘col‘>AdminID</th><th scope=‘col‘>删除“+       ”</th></tr>";

    //通过读取行的数据来补全一张表

  while (dr.Read())
  {
  string sex = "checked=‘checke‘";
  if (dr[4].ToString().ToLower() == "false")
  {
     sex = "";
  }
  newTable += "<tr><td>" + dr[0] + "</td><td>" + dr[1] + "</td><td>" + dr[2] + "</td><td><span class=‘aspNetDisabled‘><input type=‘checkbox‘"   + sex + " disabled=‘disabled‘ /></span></td><td>" + dr[3] + "</td><td>"+

     //javascript:dd("+dr[0]+")   这是个脚本在静态网页中实现
  "<a href=‘javascript:dd(" + dr[0] + ")‘>删除</a></td></tr>";
  }
  dr.Close();
  newTable += "</table>";
  context.Response.Write(newTable);
}

 

Ajax 获取数据代码