javascript如何循环执行某一函数? javascript控制台 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function thank(id) {try{var thanksSpan = document.getElementById( 'thank'+id );var thanksLink = document.getElementById( 'saythank'+id );var thanksCount = 0;var get_data = '?type=thanks&action=do&id='+id;if( thanksSpan )thanksCount = parseInt( thanksSpan.innerHTML );xmlhttp.onreadystatechange=function() {if (xmlhttp.readyState==4 && xmlhttp.status==200) {var xmldoc = xmlparser(xmlhttp.responseText);var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue;var queryValue = xmldoc.getElementsByTagName('value')[0].childNodes[0].nodeValue;if( queryCode=='1' ) {thanksCount = parseInt( queryValue );thanksSpan.innerHTML = thanksCount+1; }thanksLink.parentNode.innerHTML = thanksLink.innerHTML;}}xmlhttp.open("GET","/query.html"+get_data,true);xmlhttp.send();}}catch(e){}直接把所有的有可能会出错的代码,放到try块中,如果代码有问题的话,就执行catch中的了。不过最好你可以直接判断,比如var thanksSpan = document.getElementById( 'thank'+id ) || “”;var thanksLink = document.getElementById( 'saythank'+id ) || “”;if(!thanksSpan || !thanksLink ){return;}判断是否存在,只要有一个是不存在的,就直接执行结束。都试试,看哪个管用呗。 还有一个问题就是为什么直接输thank(**)有效,而用for就无效了,比如for (var i= 5;i<=8;i++){thank(i);}往往只执行了thank(8)问了不少人,貌似这个问题就我遇到过 function thank(id,end) { if(id>end) return; var thanksSpan = document.getElementById( 'thank'+id ); var thanksLink = document.getElementById( 'saythank'+id ); if(!thanksSpan || !thanksLink) return thank(++id,end); var thanksCount = 0; var get_data = '?type=thanks&action=do&id='+id; if( thanksSpan ) thanksCount = parseInt( thanksSpan.innerHTML ); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { var xmldoc = xmlparser(xmlhttp.responseText); var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue; var queryValue = xmldoc.getElementsByTagName('value')[0].childNodes[0].nodeValue; if( queryCode=='1' ) { thanksCount = parseInt( queryValue ); thanksSpan.innerHTML = thanksCount+1; } thanksLink.parentNode.innerHTML = thanksLink.innerHTML; thank(++id,end); } } xmlhttp.open("GET","/query.html"+get_data,true); xmlhttp.send();}thank(112,157); 你的 xmlhttp 是全局对象? 把全部代码放出来看看。 if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); }else{// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }......function thank(id) { var thanksSpan = document.getElementById( 'thank'+id ); var thanksLink = document.getElementById( 'saythank'+id ); var thanksCount = 0; var get_data = '?type=thanks&action=do&id='+id; if( thanksSpan ) thanksCount = parseInt( thanksSpan.innerHTML ); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { var xmldoc = xmlparser(xmlhttp.responseText); var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue; var queryValue = xmldoc.getElementsByTagName('value')[0].childNodes[0].nodeValue; if( queryCode=='1' ) { thanksCount = parseInt( queryValue ); thanksSpan.innerHTML = thanksCount+1; } thanksLink.parentNode.innerHTML = thanksLink.innerHTML; } } xmlhttp.open("GET","/query.html"+get_data,true); xmlhttp.send();}function request(id,req) { var requestLink = document.getElementById( 'request'+id ); var requestStatus = document.getElementById( 'request'+id+'_status' ); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { var xmldoc = xmlparser(xmlhttp.responseText); var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue; if( queryCode=='1' || queryCode=='2' ) { if(req == 'true') requestStatus.style.display=""; else requestStatus.parentNode.removeChild( requestStatus ); requestLink.parentNode.removeChild( requestLink ); } } } if (req == 'true') { xmlhttp.open("GET","/query.html?type=request&action=add&id=" + id,true); xmlhttp.send(); } else { xmlhttp.open("GET","/query.html?type=request&action=remove&id=" + id,true); xmlhttp.send(); }}核心代码就这些了 这个对于连续的id确实挺好使,赞一个先!但是有些id是已经执行过的,还有一些id是不存在的。遇到那些时会提示Uncaught TypeError: Cannot read property 'childNodes' of undefined 或是Uncaught TypeError: Cannot read property 'parentNode' of null 错误还请再看看有什么解决之道 首贴的代码至少应写作function thank(id) { var thanksSpan = document.getElementById( 'thank'+id ); var thanksLink = document.getElementById( 'saythank'+id ); var thanksCount = 0; var get_data = '?type=thanks&action=do&id='+id; if( thanksSpan && thanksLink) { thanksCount = parseInt( thanksSpan.innerHTML ); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { var xmldoc = xmlparser(xmlhttp.responseText); var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue; var queryValue = xmldoc.getElementsByTagName('value')[0].childNodes[0].nodeValue; if( queryCode=='1' ) { thanksCount = parseInt( queryValue ); thanksSpan.innerHTML = thanksCount+1; } thanksLink.parentNode.innerHTML = thanksLink.innerHTML; } } xmlhttp.open("GET","/query.html"+get_data,true); xmlhttp.send(); }}即只有在 thanksSpan 和 thanksLink 同时非空时才执行 ajax 操作但这还存在一个隐患:连续执行函数时,往往只有最后一次有效原因是 xmlhttp 是全局变量,后一次执行是把前一次的回调覆盖了所以应改写为function thank(id) { var thanksSpan = document.getElementById( 'thank'+id ); var thanksLink = document.getElementById( 'saythank'+id ); var thanksCount = 0; var get_data = '?type=thanks&action=do&id='+id; if( thanksSpan && thanksLink) { thanksCount = parseInt( thanksSpan.innerHTML ); if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari var xmlhttp = new XMLHttpRequest(); }else{// code for IE6, IE5 var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { var xmldoc = xmlparser(xmlhttp.responseText); var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue; var queryValue = xmldoc.getElementsByTagName('value')[0].childNodes[0].nodeValue; if( queryCode=='1' ) { thanksCount = parseInt( queryValue ); thanksSpan.innerHTML = thanksCount+1; } thanksLink.parentNode.innerHTML = thanksLink.innerHTML; } } xmlhttp.open("GET","/query.html"+get_data,true); xmlhttp.send(); }}另外 xmlhttp.responseXML 就是 domxml 对象,可以直接操作 真是太赞了,版大大真是厉害!函数改成这样确实就搞定了!!!但是能不能不修改thank函数,只修改循环调用的指令来实现呢?(因为thank函数是别人写的,不太好意思修改)感觉那样更简洁方便些。有学长说可以用闭包来解决,不知怎么操作? 把 xmlhttp 包装成局部变量是可行的但是原来的 thank 函数存在的逻辑错误是非修改掉不可得这不是好不好意思修改的问题,而是原则问题为什么要改的原因我已经说明白了,我想那人也是明事理的人。只要把道理说清楚了,还不至于顽固不化吧? 我沟通了一下,发现改成这样又会有一个问题:就是只能操作当前页面的id。原先的函数,只要在任一页的控制台输入thank(**),不管**在第几页都能执行thank函数。有没有办法再优化一下呢? 这个对于连续的id确实挺好使,赞一个先!但是有些id是已经执行过的,还有一些id是不存在的。遇到那些时会提示Uncaught TypeError: Cannot read property 'childNodes' of undefined 或是Uncaught TypeError: Cannot read property 'parentNode' of null 错误还请再看看有什么解决之道有些id是已经执行过的,还有一些id是不存在的。具体是什么情况?因为好像不是页面元素不存在啊,不行就把html的部分也发出来不到万不得已不要用try catch这个东西 这个对于连续的id确实挺好使,赞一个先!但是有些id是已经执行过的,还有一些id是不存在的。遇到那些时会提示Uncaught TypeError: Cannot read property 'childNodes' of undefined 或是Uncaught TypeError: Cannot read property 'parentNode' of null 错误还请再看看有什么解决之道有些id是已经执行过的,还有一些id是不存在的。具体是什么情况?因为好像不是页面元素不存在啊,不行就把html的部分也发出来不到万不得已不要用try catch这个东西其实就是我们网站上有很多帖子,thank函数就是对帖子点赞id就是帖子的id,因为有的帖子点过赞了,有的帖子发布后违规被删,所以id就不存在了。目前我们的thank函数的优点是即使想 thank 的帖子(假设id=331)并不在当前页面,但是只要在当前页面的控制台执行 thank(331) 也能对该帖点赞成功。【这点很奇妙】(版大的方法只能将当前页面的帖子全部点赞,但是有几百页啊,,得累死)【我们想人工批量点赞,刷一下人气。】 function thank(id,end) { if(id>end) return; var thanksSpan = document.getElementById( 'thank'+id ); var thanksLink = document.getElementById( 'saythank'+id ); var thanksCount = 0; var get_data = '?type=thanks&action=do&id='+id; if( thanksSpan ) thanksCount = parseInt( thanksSpan.innerHTML ); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { try { var xmldoc = xmlparser(xmlhttp.responseText); var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue; var queryValue = xmldoc.getElementsByTagName('value')[0].childNodes[0].nodeValue; if( queryCode=='1' ) { thanksCount = parseInt( queryValue ); thanksSpan.innerHTML = thanksCount+1; } thanksLink.parentNode.innerHTML = thanksLink.innerHTML; } catch(eSA) {} thank(++id,end); } } xmlhttp.open("GET","/query.html"+get_data,true); xmlhttp.send();}thank(112,157); function thank(id) { var thanksSpan = document.getElementById( 'thank'+id ); var thanksLink = document.getElementById( 'saythank'+id ); var thanksCount = 0; var get_data = '?type=thanks&action=do&id='+id; thanksCount = parseInt( thanksSpan.innerHTML ); if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari var xmlhttp = new XMLHttpRequest(); }else{// code for IE6, IE5 var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } if( thanksSpan && thanksLink) { //对页面不存在的元素就不要处理了,不然就要报错的 xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { var xmldoc = xmlparser(xmlhttp.responseText); var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue; var queryValue = xmldoc.getElementsByTagName('value')[0].childNodes[0].nodeValue; if( queryCode=='1' ) { thanksCount = parseInt( queryValue ); thanksSpan.innerHTML = thanksCount+1; } thanksLink.parentNode.innerHTML = thanksLink.innerHTML; } } } xmlhttp.open("GET","/query.html"+get_data,true); xmlhttp.send(); //不管在不在,先发了再说} 解决了!最终采用的是try/catch+局部 xmlhttp 变量的方法代码如下:for (var i=1800;i<=2100;i++){try{thank(i);var xmlhttp = new XMLHttpRequest();}catch(e){continue}}(挤在了一行有点乱) Javascript中奇怪的函数调用,谁能解释$$ ? 请问二进制和十进制的问题? 横向菜单的问题 FreeMarker怎么动态生成dom元素 confirm弹出的框中是取消和确定按钮,请问能否该成是与否的按钮 【快!快!快!】怎么用js根据text设置select下拉表的初值?【快!快!快!】 如何用script判断表单中的某个输入框的值是一个空格或者是多个空格? 还是刚才那个正则表达式的问题 客户端脚本(javascript)如何读客户端主机上的注册表信息 js按需加载大文本文件 类似百度图片搜索结果页的布局怎么实现 你们喜欢哪种
function thank(id) {
try{
var thanksSpan = document.getElementById( 'thank'+id );
var thanksLink = document.getElementById( 'saythank'+id );
var thanksCount = 0;
var get_data = '?type=thanks&action=do&id='+id;
if( thanksSpan )
thanksCount = parseInt( thanksSpan.innerHTML );
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var xmldoc = xmlparser(xmlhttp.responseText);
var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue;
var queryValue = xmldoc.getElementsByTagName('value')[0].childNodes[0].nodeValue;
if( queryCode=='1' ) {
thanksCount = parseInt( queryValue );
thanksSpan.innerHTML = thanksCount+1; }
thanksLink.parentNode.innerHTML = thanksLink.innerHTML;
}
}
xmlhttp.open("GET","/query.html"+get_data,true);
xmlhttp.send();
}
}catch(e){}
直接把所有的有可能会出错的代码,放到try块中,如果代码有问题的话,就执行catch中的了。不过最好你可以直接判断,比如
var thanksSpan = document.getElementById( 'thank'+id ) || “”;
var thanksLink = document.getElementById( 'saythank'+id ) || “”;
if(!thanksSpan || !thanksLink ){return;}判断是否存在,只要有一个是不存在的,就直接执行结束。都试试,看哪个管用呗。
还有一个问题就是为什么直接输thank(**)有效,而用for就无效了,比如
for (var i= 5;i<=8;i++){
thank(i);}
往往只执行了thank(8)
问了不少人,貌似这个问题就我遇到过
function thank(id,end) {
if(id>end)
return;
var thanksSpan = document.getElementById( 'thank'+id );
var thanksLink = document.getElementById( 'saythank'+id );
if(!thanksSpan || !thanksLink)
return thank(++id,end);
var thanksCount = 0;
var get_data = '?type=thanks&action=do&id='+id;
if( thanksSpan )
thanksCount = parseInt( thanksSpan.innerHTML );
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var xmldoc = xmlparser(xmlhttp.responseText);
var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue;
var queryValue = xmldoc.getElementsByTagName('value')[0].childNodes[0].nodeValue;
if( queryCode=='1' ) {
thanksCount = parseInt( queryValue );
thanksSpan.innerHTML = thanksCount+1; }
thanksLink.parentNode.innerHTML = thanksLink.innerHTML;
thank(++id,end);
}
}
xmlhttp.open("GET","/query.html"+get_data,true);
xmlhttp.send();
}thank(112,157);
把全部代码放出来看看。
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest(); }
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }
...
...function thank(id) {
var thanksSpan = document.getElementById( 'thank'+id );
var thanksLink = document.getElementById( 'saythank'+id );
var thanksCount = 0;
var get_data = '?type=thanks&action=do&id='+id;
if( thanksSpan )
thanksCount = parseInt( thanksSpan.innerHTML );
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var xmldoc = xmlparser(xmlhttp.responseText);
var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue;
var queryValue = xmldoc.getElementsByTagName('value')[0].childNodes[0].nodeValue;
if( queryCode=='1' ) {
thanksCount = parseInt( queryValue );
thanksSpan.innerHTML = thanksCount+1; }
thanksLink.parentNode.innerHTML = thanksLink.innerHTML;
}
}
xmlhttp.open("GET","/query.html"+get_data,true);
xmlhttp.send();
}
function request(id,req) {
var requestLink = document.getElementById( 'request'+id );
var requestStatus = document.getElementById( 'request'+id+'_status' );
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var xmldoc = xmlparser(xmlhttp.responseText);
var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue;
if( queryCode=='1' || queryCode=='2' ) {
if(req == 'true')
requestStatus.style.display="";
else
requestStatus.parentNode.removeChild( requestStatus );
requestLink.parentNode.removeChild( requestLink ); }
}
}
if (req == 'true') {
xmlhttp.open("GET","/query.html?type=request&action=add&id=" + id,true);
xmlhttp.send(); }
else {
xmlhttp.open("GET","/query.html?type=request&action=remove&id=" + id,true);
xmlhttp.send(); }
}核心代码就这些了
这个对于连续的id确实挺好使,赞一个先!
但是有些id是已经执行过的,还有一些id是不存在的。遇到那些时会提示
Uncaught TypeError: Cannot read property 'childNodes' of undefined
或是
Uncaught TypeError: Cannot read property 'parentNode' of null
错误
还请再看看有什么解决之道
var thanksSpan = document.getElementById( 'thank'+id );
var thanksLink = document.getElementById( 'saythank'+id );
var thanksCount = 0;
var get_data = '?type=thanks&action=do&id='+id;
if( thanksSpan && thanksLink) {
thanksCount = parseInt( thanksSpan.innerHTML );
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var xmldoc = xmlparser(xmlhttp.responseText);
var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue;
var queryValue = xmldoc.getElementsByTagName('value')[0].childNodes[0].nodeValue;
if( queryCode=='1' ) {
thanksCount = parseInt( queryValue );
thanksSpan.innerHTML = thanksCount+1;
}
thanksLink.parentNode.innerHTML = thanksLink.innerHTML;
}
}
xmlhttp.open("GET","/query.html"+get_data,true);
xmlhttp.send();
}
}
即只有在 thanksSpan 和 thanksLink 同时非空时才执行 ajax 操作但这还存在一个隐患:连续执行函数时,往往只有最后一次有效
原因是 xmlhttp 是全局变量,后一次执行是把前一次的回调覆盖了
所以应改写为function thank(id) {
var thanksSpan = document.getElementById( 'thank'+id );
var thanksLink = document.getElementById( 'saythank'+id );
var thanksCount = 0;
var get_data = '?type=thanks&action=do&id='+id;
if( thanksSpan && thanksLink) {
thanksCount = parseInt( thanksSpan.innerHTML );
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
var xmlhttp = new XMLHttpRequest();
}else{// code for IE6, IE5
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var xmldoc = xmlparser(xmlhttp.responseText);
var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue;
var queryValue = xmldoc.getElementsByTagName('value')[0].childNodes[0].nodeValue;
if( queryCode=='1' ) {
thanksCount = parseInt( queryValue );
thanksSpan.innerHTML = thanksCount+1;
}
thanksLink.parentNode.innerHTML = thanksLink.innerHTML;
}
}
xmlhttp.open("GET","/query.html"+get_data,true);
xmlhttp.send();
}
}
另外 xmlhttp.responseXML 就是 domxml 对象,可以直接操作
感觉那样更简洁方便些。有学长说可以用闭包来解决,不知怎么操作?
这不是好不好意思修改的问题,而是原则问题为什么要改的原因我已经说明白了,我想那人也是明事理的人。只要把道理说清楚了,还不至于顽固不化吧?
我沟通了一下,发现改成这样又会有一个问题:就是只能操作当前页面的id。原先的函数,只要在任一页的控制台输入thank(**),不管**在第几页都能执行thank函数。有没有办法再优化一下呢?
这个对于连续的id确实挺好使,赞一个先!
但是有些id是已经执行过的,还有一些id是不存在的。遇到那些时会提示
Uncaught TypeError: Cannot read property 'childNodes' of undefined
或是
Uncaught TypeError: Cannot read property 'parentNode' of null
错误
还请再看看有什么解决之道
有些id是已经执行过的,还有一些id是不存在的。具体是什么情况?因为好像不是页面元素不存在啊,不行就把html的部分也发出来
不到万不得已不要用try catch这个东西
这个对于连续的id确实挺好使,赞一个先!
但是有些id是已经执行过的,还有一些id是不存在的。遇到那些时会提示
Uncaught TypeError: Cannot read property 'childNodes' of undefined
或是
Uncaught TypeError: Cannot read property 'parentNode' of null
错误
还请再看看有什么解决之道
有些id是已经执行过的,还有一些id是不存在的。具体是什么情况?因为好像不是页面元素不存在啊,不行就把html的部分也发出来
不到万不得已不要用try catch这个东西
其实就是我们网站上有很多帖子,thank函数就是对帖子点赞
id就是帖子的id,因为有的帖子点过赞了,有的帖子发布后违规被删,所以id就不存在了。目前我们的thank函数的优点是即使想 thank 的帖子(假设id=331)并不在当前页面,但是只要在当前页面的控制台执行 thank(331) 也能对该帖点赞成功。【这点很奇妙】
(版大的方法只能将当前页面的帖子全部点赞,但是有几百页啊,,得累死)【我们想人工批量点赞,刷一下人气。】
function thank(id,end) {
if(id>end)
return;
var thanksSpan = document.getElementById( 'thank'+id );
var thanksLink = document.getElementById( 'saythank'+id );
var thanksCount = 0;
var get_data = '?type=thanks&action=do&id='+id;
if( thanksSpan )
thanksCount = parseInt( thanksSpan.innerHTML );
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
try {
var xmldoc = xmlparser(xmlhttp.responseText);
var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue;
var queryValue = xmldoc.getElementsByTagName('value')[0].childNodes[0].nodeValue;
if( queryCode=='1' ) {
thanksCount = parseInt( queryValue );
thanksSpan.innerHTML = thanksCount+1;
}
thanksLink.parentNode.innerHTML = thanksLink.innerHTML;
} catch(eSA) {}
thank(++id,end);
}
}
xmlhttp.open("GET","/query.html"+get_data,true);
xmlhttp.send();
}thank(112,157);
var thanksSpan = document.getElementById( 'thank'+id );
var thanksLink = document.getElementById( 'saythank'+id );
var thanksCount = 0;
var get_data = '?type=thanks&action=do&id='+id;
thanksCount = parseInt( thanksSpan.innerHTML );
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
var xmlhttp = new XMLHttpRequest();
}else{// code for IE6, IE5
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
if( thanksSpan && thanksLink) { //对页面不存在的元素就不要处理了,不然就要报错的
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var xmldoc = xmlparser(xmlhttp.responseText);
var queryCode = xmldoc.getElementsByTagName('code')[0].childNodes[0].nodeValue;
var queryValue = xmldoc.getElementsByTagName('value')[0].childNodes[0].nodeValue;
if( queryCode=='1' ) {
thanksCount = parseInt( queryValue );
thanksSpan.innerHTML = thanksCount+1;
}
thanksLink.parentNode.innerHTML = thanksLink.innerHTML;
}
}
}
xmlhttp.open("GET","/query.html"+get_data,true);
xmlhttp.send(); //不管在不在,先发了再说
}
代码如下:
for (var i=1800;i<=2100;i++){try{thank(i);var xmlhttp = new XMLHttpRequest();}catch(e){continue}}
(挤在了一行有点乱)