日期:2014-05-17  浏览次数:20420 次

ajax又一初学问题
<script language="javascript" type="text/javascript">
  var xmlHttp;
  //创建XMLHttpRequest对象
  function createXmlHttpRequest()
  {
  if(window.ActieveXObject) //验证浏览器是否是IE并且支持XMLHttpRequest对象
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  else if(window.XMLHttpRequest) //判断浏览器是否支持XMLHttpRequest对象
  {
  xmlHttp=new XMLHttpRequest();
  }
  }
   
  //发起请求
  function startRequest()
  {
  //创建XMLHttpRequest对象
  createXmlHttpRequest();
  //获取页面ID为txt_UserControlName文本框中的内容
  var UserControlName=document.getElementById("txt_UserControlName");
  //写入请求方式
  xmlHttp.open("Post","default.aspx?Control=" + UserControlName.value);
  //请求完毕后,由谁来接收返回的数据
  xmlHttp.onreadystatechange = readyStateChangeHandle;
  //发起请求
  xmlHttp.send(null);
  }
   
  //处理得到的数据
  function readyStateChangeHandle()
  {
  //判断服务器状态
  if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
  {
  //将得到的内容填充给div1
  document.getElementById("div1").innerHTML = xmlHttp.responseText;
  }
  }
  </script>


假设有一个Default.aspx页面,上面有很多DIV,通过提交数据后,我要刷新Div1. xmlHttp.responseText得到的是该页面的HTML代码,一般常规的做法是不是用JS从HTML代码中找到Div1中的内容,再赋值给Div1?

还是另有高招?

------解决方案--------------------
你前台想要什么数据,后台就返回什么数据。多余的东西就不必要返回了。比如你请求的是default.aspx

protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["Control"] != null)
{
Response.Clear();
Response.Write("这里可以输出你想要的内容");
Response.End();
}
}