为什么ajax局部刷新div 会在div中出现整个的页面
varxmlhttp=newXMLHttpRequest();functiongetPart(url){xmlhttp.open("get",url,true);xmlh...
var xmlhttp = new XMLHttpRequest();
function getPart(url)
{
xmlhttp.open("get", url, true);
xmlhttp.onreadystatechange = function ()
{
// if (xmlHttp.readyState == 4)
// {
// alert("def")
if (xmlhttp.status == 200 || xmlhttp.status == 304)
{
//document.getElementById("biji").innerHTML = unescape(xmlhttp.responseText);
document.getElementById("biji").innerHTML = xmlhttp.responseText;
}
return false;
}
xmlhttp.setRequestHeader("If-Modified-Since", "0");
xmlhttp.send(null);
}
setInterval("getPart('<%=Request.Url %>')", 5000); 展开
function getPart(url)
{
xmlhttp.open("get", url, true);
xmlhttp.onreadystatechange = function ()
{
// if (xmlHttp.readyState == 4)
// {
// alert("def")
if (xmlhttp.status == 200 || xmlhttp.status == 304)
{
//document.getElementById("biji").innerHTML = unescape(xmlhttp.responseText);
document.getElementById("biji").innerHTML = xmlhttp.responseText;
}
return false;
}
xmlhttp.setRequestHeader("If-Modified-Since", "0");
xmlhttp.send(null);
}
setInterval("getPart('<%=Request.Url %>')", 5000); 展开
2个回答
展开全部
如果你Ajax请求的是Aspx页,
用Response.Write()输出,请在后面加上一句Response.End(),不然他会继续输出html。
如果是ashx则不存在这个问题。
用Response.Write()输出,请在后面加上一句Response.End(),不然他会继续输出html。
如果是ashx则不存在这个问题。
更多追问追答
追问
大神 怎么写 应该把这两句 写在哪里 我已经做了三天 都快崩溃了
追答
你不是异步请求一个页面吗,看这一句
xmlhttp.open("get", url, true);
你往这个url发了一个请求,找到这个页面,里面肯定有个写响应报文的方法。
比如说他取得了一个List或者Model,用序列化方法弄成了Json字符串。
下一步就是Response.Write(obj),输出这个字符串,
紧跟着来个Response.End()就行了。
2014-09-02
展开全部
你的返回值是html代码,所以才会显示整个页面。
追问
我用的aspx 编写的代码 要用到局部的刷新 ,怎么样才不会显示整个网页呀 请问怎么修改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询