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();
}
}