问一个XmlHttp返回数据的问题??????
是这样:例如:function BeginTest(valueValue , valueString , viewState)
{
xmlHttp.onreadystatechange = doHttpReadyStateChange;
xmlHttp.open("GET", "http://localhost/default.aspx?id=111" ,true);
xmlHttp.send(null);
}
function doHttpReadyStateChange()
{
if (xmlHttp.readyState == 4 && xmlHttp.status==200)
{
var oXmlDom = new ActiveXObject("MSXML2.DOMDocument.3.0");
oXmlDom.loadXML(xmlHttp.responseText);
var str = xmlHttp.responseText ;
document.getElementById("DivHtml").innerHTML = str;
}
}
这是一个最基本的异步请求,
我想把我请求的内容输出到我这个页面的DivHtml这个层里面.....
但是我请求回来的是xmlHttp.responseText 这个内容是一个Html文档.包含有HTML的头,JavaScript代码...往层里输入是会报错的.......
当然可以解决,就是采用DOM 把它当成XML去解析, 但这如果页面很多的话,任何一个页面都有AJAX功能,那么还得针对每一个页面
写解析代码吗?
当然如果结构相同的话,可以做成一个公用的,
有没有更好的返回数据的方法?????? --------------------编程问答-------------------- 有
你在请求http://localhost/default.aspx?id=111时
Response.Write(data);
Response.End();
及时结束 --------------------编程问答-------------------- 直接end 是不行的,要先response.flush()再end();
在客户端就responseText就行了. --------------------编程问答-------------------- 输出之前要先设contenttype="text/plain",如果是要以XML输出,就是"text/xml" --------------------编程问答-------------------- 唉........
唉 --------------------编程问答-------------------- DOM 去解析HTML估计你开发完成都可以写个ie出来了
另外,如果一个ajax功能你写一个aspx页面,那得写多少呀 --------------------编程问答-------------------- 那请问一下,做这样一个测试:
我想把DataGrid的自带分页改成无刷新的分面。我在页面里重写了
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
theform = document.forms["Form1"];
}
else {
theform = document.Form1;
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
//theform.submit();
BeginTest(eventTarget.split("$").join(":") ,eventArgument ,theform.__VIEWSTATE.value );
}
这个方法,让它异步回发了:
function BeginTest(valueValue , valueString , viewState)
{
xmlHttp.onreadystatechange = doHttpReadyStateChange;
xmlHttp.open("GET", "http://localhost/TestProject/WebFormT.aspx?__EVENTTARGET="+valueValue+"&__EVENTARGUMENT="+valueString+"&__VIEWSTATE="+viewState, true);
xmlHttp.send(null);
}
这个方法想输出值:
function doHttpReadyStateChange()
{
if (xmlHttp.readyState == 4 && xmlHttp.status==200)
{
var oXmlDom = new ActiveXObject("MSXML2.DOMDocument.3.0");
oXmlDom.loadXML(xmlHttp.responseText);
var str = xmlHttp.responseText ;
document.getElementById("DivHtml").innerHTML = str;
}
}
报javascript错,运行时出错.......
我把字符串截吧,截吧,就好了,请问有什么好办法解决。。。。。。 --------------------编程问答-------------------- TO:LovlyPuppy
那请问,我想用XMLHTTP实现上面的无刷新分页,最简便的方法是什么? --------------------编程问答-------------------- To AA123456
1.如果数据量不多的话,无刷新分页可以直接用javascript 来写.
2.否则,使用ajax,如果里面包有多余的HTML代码,原因可能是你忘记删除ajax调用的.aspx页面中的HTML了.
补充:.NET技术 , ASP.NET