读书人

关于AJAX的使用有关问题

发布时间: 2011-12-27 22:22:54 作者: rapoo

关于AJAX的使用问题
我在页面里需要调用另外一个页面得到返回值用到了AJAX技术,为什么我调用了两次其他两个不同的页面。都是得到第一次调用的AJAX的返回值呢?难道是有缓存或者就是在一个页面里只能调一次吗
function getNews(CC)//这个参数判断不同的调用取不同的链接
{
var url = GetParam(CC);//根据不同的参数调用不同的链接
 var show = document.getElementById( "show_news ");
 var ajax = InitAjax();
 ajax.open( "GET ", url, false);
ajax.onreadystatechange = function()
{
 if (ajax.readyState == 4 && ajax.status == 200)
{
show.innerHTML = ajax.responseText;
}
}
 //发送空
 ajax.send(null);
return show.innerText;
}
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 getselCount()
{
var url = "My.asp?a= " + form1.sSel.value;
 var show = document.getElementById( "show_news ");

 var ajaxa=false;
 try
{
  ajaxa = new ActiveXObject( "Msxml2.XMLHTTP ");
 }
catch (e)
{
  try
{
   ajaxa = new ActiveXObject( "Microsoft.XMLHTTP ");
  }
catch (E)
{
   ajaxa = null;
  }
 }
 if (!ajaxa && typeof XMLHttpRequest!= 'undefined ')
{
  ajaxa = new XMLHttpRequest();
 }

 ajaxa.open( "GET ", url, false);
ajaxa.onreadystatechange = function()
{
 if (ajaxa.readyState == 4 && ajaxa.status == 200)
{
show.innerHTML = ajaxa.responseText;
}
}
 //发送空
 ajaxa.send(null);
return show.innerText;
}


[解决办法]
dwr.jar
[解决办法]
你调用的页面设置缓存了吗?
把缓存去掉试试
[解决办法]
在 <head> </head> 里面加上
<META HTTP-EQUIV= "Cache-Control " CONTENT= "no-cache "> 试试
[解决办法]
不是吧 大哥
ajax就是用的异步 你用同步的话 干吗还用ajax
xmlHttpRequest.open( "GET ",url, true);


把第三个参数设置成true就是异步
[解决办法]
估计是你的代码写的有问题
你可以加入一些alert进行调试
弹出返回的东西 看看是什么
[解决办法]
在后台也加入一些print语句 看看每次调用的结果
[解决办法]
我的意思是你去看看 这个包的使用说明 dwr.jar AJAX使用很简单的!~~~~
[解决办法]
最好是在你的URL上加个时间戳,请求的URL会有缓存的,加上时间戳就不同了,详情请看《AJAX 基础教程》

读书人网 >Java Web开发

热点推荐