日期:2014-05-16  浏览次数:20774 次

关于responseText返回整个html页的问题
<script language="javascript">
setInterval("vGetRand()",3000);//每秒钟取一次数据 /**


function InitAjax()
{
var ajax=false; 
try 

ajax = new ActiveXObject("Msxml2.XMLHTTP"); 
} catch (e) { 
try { 
ajax = new ActiveXObject("Microsoft.XMLHTTP"); 
} catch (E) { 
ajax = false; 

}
if (!ajax && typeof XMLHttpRequest!='undefined') { 
ajax = new XMLHttpRequest(); 

return ajax;
}

function vGetRand(){

客户端

var url="ajax.aspx";

var ajax=InitAjax();


ajax.open("GET", url,true); 


ajax.onreadystatechange = function() { 

if (ajax.readyState == 4 && ajax.status == 200)
 { 
  alert(ajax.responseText);
//shenjk.innerText = ajax.responseText; 

}
//发送空
ajax.send(null); 

服务器端
response.writte("aaa")

正常的话我想输出“aaa”但我alert(ajax.responseText);输出的是整个HTML 页呢,我加上response.close()或response.end()都不好用
我该怎么修改啊

------解决方案--------------------
把ajax.aspx页面内<html></html>全部删除掉

ajax.aspx.cs:

Response.clear();
response.write("aaa");
Response.end();

这样获取到的就只有aaa了
------解决方案--------------------
客户端

var url="ajax.aspx?id="qxlks";

var ajax=InitAjax();

服务器端
<%
if request("qxlks")<>"" then
response.writte("aaa")
response.end()
end if
%>
把这段加到语法允许的页面顶部(没有其他HTML代码的地方)
------解决方案--------------------
Page_Load中使用Response.End()结束输出
------解决方案--------------------
学习。
貌似 不能直接传吧。
------解决方案--------------------
请求页面不要出理HTML的东西