Ajax很奇怪的问题
小弟手写了一个Ajax 投票后到后台保存到数据库,然后返回还剩几个次。奇怪的问题是,点击之后并不是每次都进入到后台执行。有时候点击几次有时候点击几十次才进入到后台。在firebug调试下进入的次数比较多,IE下基本只执行一次。
请各位大大帮忙解决下。。
以下是代码:
<a onclick="addRec()" href="#" style="text-decoration: none">投票推荐</a>
function addRec(){
var bookid=document.getElementById("hidbookid").value;
var url="ajax/addRecs.aspx?bookid="+bookid+"&Math.random()";
getResult(url);
return true;
}
var http_request;
function getResult(url){
if(window.ActiveXObject){
http_request=new ActiveXObject("Microsoft.XMLHTTP");
}else{
if(window.XMLHttpRequest){
http_request=new XMLHttpRequest();
}else{
return;
}
}
if(http_request!=null){
http_request.onreadystatechange=onchangeRequest;
url=encodeURI(url);
http_request.open("GET",url,true);
http_request.send(null);
}
}
function onchangeRequest()
{
if(http_request.readyState==4){
if(http_request.status==200){
var result=http_request.responseText;
document.getElementById("bookMsg").innerText=result;
if(window.XMLHttpRequest){
alert(result);
}
}
}
}
请各位大大帮忙解决下。。
以下是代码:
<a onclick="addRec()" href="#" style="text-decoration: none">投票推荐</a>
function addRec(){
var bookid=document.getElementById("hidbookid").value;
var url="ajax/addRecs.aspx?bookid="+bookid+"&Math.random()";
getResult(url);
return true;
}
var http_request;
function getResult(url){
if(window.ActiveXObject){
http_request=new ActiveXObject("Microsoft.XMLHTTP");
}else{
if(window.XMLHttpRequest){
http_request=new XMLHttpRequest();
}else{
return;
}
}
if(http_request!=null){
http_request.onreadystatechange=onchangeRequest;
url=encodeURI(url);
http_request.open("GET",url,true);
http_request.send(null);
}
}
function onchangeRequest()
{
if(http_request.readyState==4){
if(http_request.status==200){
var result=http_request.responseText;
document.getElementById("bookMsg").innerText=result;
if(window.XMLHttpRequest){
alert(result);
}
}
}
}
...全文
相关推荐
一个奇怪的问题使用ajax提交必须alert才能赋值
一个奇怪的问题,在使用ajax提交的时候将返回值赋给一个变量,无论怎么写都没法赋值,刚开始怀疑js有错但是ie没有反应过来,多次清缓存、部程序都没效果。。。。。。最后只好一行一行的alert看原因出在哪里;奇怪的是加上了alert之后就可以赋值,删掉alert后就又不可以了。百度了一下发现是因为ajax默认是异步执行的,也就是并没有等待请求完毕就开始执行下一行js语句了,导致赋值为null。 如果遇到ajax请求后有回调函数之类的问题就要加上async:false,注意如果是给false加上引号是没发解决问题的。 代码如下: $.ajax({ async:false })
解决ajax返回innerHTML中javascript不能运行问题
解决ajax返回innerHTML中javascript不能运行问题
奇怪的struts2的中文乱码问题及解决.docx
奇怪的struts2的中文乱码问题及解决.docx
freecodecamp-javascript:我的一些奇怪的解决方案
freecodecamp-javascript 只是我一些奇怪的解决方案
JSP乱码终极攻略和AJAX初步运用
JSP乱码终极攻略和AJAX初步运用,大量的文字描述和实例


