问题如下$(check());
$(load_news_list());
如上顺序,页面同时加载这两个函数,为什么只执行$(load_news_list());***********************$(load_news_list());
$(check());
调一下顺序,只执行$(check());请问这是为什么?请高手帮忙,谢谢
$(load_news_list());
如上顺序,页面同时加载这两个函数,为什么只执行$(load_news_list());***********************$(load_news_list());
$(check());
调一下顺序,只执行$(check());请问这是为什么?请高手帮忙,谢谢
解决方案 »
- 为什么我写的公司抽奖系统错误
- js高手来帮忙,鼠标放上列表后显示图片+描述的特效,但鼠标离开后怎么恢复原样?
- this的疑惑
- 菜鸟请教,能不能通过js把一个table下的所有tr得到,然后改变tr的样式表?好像jquery可以,我不会,希望高手赐教
- 在层中显示信息
- JSP空指针异常
- 怎样拖动 iframe?
- 盗链土豆,56,优酷电影如何禁止暂停弹出的网页
- 如何制作 OA 的审批流程 的 操作界面 和 服务如何读取审批流程 (图) ??????????????????????????????
- !!!如何在同一个域名的AA目录下读取BB目录下的cookie!!!
- js(急)
- 相关JS中一个this的问题
$(function(){
check();
load_news_list();
});
$(function(){
check();
load_news_list();
});
也是只执行最后一个函数,即load_news_list();
=============================
换为
$(function(){
load_news_list();
check();
});
执行check();
// JavaScript Document
function xmldom()
{
var xmlDom = false;
var arr_Username = new Array(); //XMLHTTP对象变量
var arr_BackInfo = new Array(); //保存已经查询过的用户名
var canSubmit = false;
try
{
xmlDom = new ActiveXObject("msxml2.XMLHTTP"); //IE高版本创建XMLHTTP
}
catch (E)
{
try
{
xmlDom = new ActiveXObject("microsoft.XMLHTTP"); //IE低版本创建XMLHTTP
}
catch (E)
{
xmlDom = new XMLHttpRequest(); //兼容非IE浏览器,直接创建xmlhttp对象
}
}
return xmlDom;
}
//登录判断
function check()
{
xmlDom=xmldom();
var d=new Date();
var strURL="/check_login.asp?d="+d.getTime();
xmlDom.open("get",strURL,true);
xmlDom.onreadystatechange=function()
{
if(xmlDom.readyState==4)
if(xmlDom.status==200)
{
if(xmlDom.responseText!="")
{
document.getElementById("log").innerHTML=unescape(xmlDom.responseText);
}
else
alert("意外错误!请联系开发人员!");
}
}
xmlDom.send(xmlDom);
}
//用户登录
function loginer()
{
xmlDom=xmldom();
if(document.getElementById("username").value=="")
{
alert("请输入用户名!");
return;
}
else if(document.getElementById("password").value=="")
{
alert("请输入密码!");
return;
}
var d=new Date();
//提交登陆请求的URL变量
var strURL="ajax.asp?lx=login&name="+document.getElementById("username").value+"&pass="+document.getElementById("password").value+"&d="+d.getTime();
xmlDom.open("get",strURL,true); //XMLHTTP打开
xmlDom.onreadystatechange=function() //XMLHTTP状态改变时调用的事件
{
if(xmlDom.readyState==4)
if(xmlDom.status==200)
{
if(xmlDom.responseText=="0")
{
document.getElementById("username").value=document.getElementById("password").value="";
alert("账号或者密码错误!");
}
else if(xmlDom.responseText!=""&&xmlDom.responseText!="0") // //注册成功
{
//document.getElementById("nav").innerHTML=xmlDom.responseText; //显示登录后的界面
//document.getElementById("mytitle").innerHTML=SignoutStr; //出现注销按钮
//document.getElementById("mytitle1").innerHTML=SignoutStr;
document.getElementById("log").innerHTML=unescape(xmlDom.responseText);
//window.self.location.href = window.location.href;
}
else
alert("意外错误!请联系开发人员!");
// document.getElementById("loadingflag").style.display='none'; //加载数据的提示消失
}
//else //出现错误
//document.getElementById("loadingflag").innerHTML="向服务器请求数据时出现错误!";
}
xmlDom.send(xmlDom);
//document.getElementById("loadingflag").style.display=''; //显示加载的页面提示效果 }
//用户登出
function logout()
{
xmlDom=xmldom();
var d=new Date();
var strURL="/ajax.asp?lx=logout&d="+d.getTime();
xmlDom.open("get",strURL,true);
xmlDom.onreadystatechange=function()
{
if(xmlDom.readyState==4)
if(xmlDom.status==200)
{
if(xmlDom.responseText=="ok")
{
alert("成功退出!");
check();
}
else
alert("意外错误!请联系开发人员!");
}
}
xmlDom.send(xmlDom);
}
//加载后台新闻列表
function load_news_list()
{
xmlDom=xmldom();
var d=new Date();
//提交登陆请求的URL变量
var strURL="news_list.asp?d="+d.getTime();
xmlDom.open("get",strURL,true);
xmlDom.onreadystatechange=function()
{
if(xmlDom.readyState==4)
if(xmlDom.status==200)
{
if(xmlDom.responseText!="")
{
document.getElementById("news_list").innerHTML=unescape(xmlDom.responseText);
}
else
alert("意外错误!请联系开发人员!");
}
}
xmlDom.send(xmlDom);
}
//加载后台新闻列表分页
function sendpage(i)
{
xmlDom=xmldom();
var d=new Date();
var strURL="news_list.asp?page="+i+"&d="+d.getTime();
xmlDom.open("get",strURL,true);
xmlDom.onreadystatechange=function()
{
if(xmlDom.readyState==4)
if(xmlDom.status==200)
{
if(xmlDom.responseText!="")
{
document.getElementById("news_list").innerHTML=unescape(xmlDom.responseText);
}
else
alert("意外错误!请联系开发人员!");
}
}
xmlDom.send(xmlDom);
}
//新闻浏览
function ll(i)
{
xmlDom=xmldom();
var d=new Date();
var strURL="news.asp?lx=ll&id="+i+"&d="+d.getTime();
xmlDom.open("get",strURL,true);
xmlDom.onreadystatechange=function()
{
if(xmlDom.readyState==4)
if(xmlDom.status==200)
{
if(xmlDom.responseText!="")
{
document.getElementById("news_list").innerHTML=unescape(xmlDom.responseText);
}
else
alert("意外错误!请联系开发人员!");
}
}
xmlDom.send(xmlDom);
}
//新闻浏览,添加新闻后转向
function ll1()
{
xmlDom=xmldom();
var d=new Date();
var strURL="news.asp?lx=ll1&d="+d.getTime();
xmlDom.open("get",strURL,true);
xmlDom.onreadystatechange=function()
{
if(xmlDom.readyState==4)
if(xmlDom.status==200)
{
if(xmlDom.responseText!="")
{
document.getElementById("news_list").innerHTML=unescape(xmlDom.responseText);
}
else
alert("意外错误!请联系开发人员!");
}
}
xmlDom.send(xmlDom);
}
//新闻编辑
function edit(i)
{
xmlDom=xmldom();
var d=new Date();
var strURL="news.asp?lx=edit&id="+i+"&d="+d.getTime();
xmlDom.open("get",strURL,true);
xmlDom.onreadystatechange=function()
{
if(xmlDom.readyState==4)
if(xmlDom.status==200)
{
if(xmlDom.responseText!="")
{
//document.myiframe.document.getElementById("yuanma").checked="checked"
document.getElementById("news_list").innerHTML=unescape(xmlDom.responseText);
//window.frames['HtmlEditor'].document.getElementsByTagName('BODY')[0].innerHTML=unescape(xmlDom.responseText);
}
else
alert("意外错误!请联系开发人员!");
}
}
xmlDom.send(xmlDom);
}
//新闻保存,用到post方式
function save(i,tit,con)
{
xmlDom=xmldom();
urlstring="lx=save&id="+i+"&tit="+escape(tit)+"&con="+escape(con)
var d=new Date();
var strURL="news.asp?d="+d.getTime();
xmlDom.open("post",strURL);
xmlDom.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
xmlDom.onreadystatechange=function()
{
if(xmlDom.readyState==4)
if(xmlDom.status==200)
{
if(xmlDom.responseText=="OK")
{
// document.getElementById("news_list").innerHTML=unescape(xmlDom.responseText);
alert("保存成功!");
ll(i);
}
else
alert("意外错误!请联系开发人员!");
}
}
xmlDom.send(urlstring);
}
//新闻添加转向
function add1()
{
xmlDom=xmldom();
var d=new Date();
var strURL="news.asp?lx=add1&d="+d.getTime();
xmlDom.open("get",strURL,true);
xmlDom.onreadystatechange=function()
{
if(xmlDom.readyState==4)
if(xmlDom.status==200)
{
if(xmlDom.responseText!="")
{
document.getElementById("news_list").innerHTML=unescape(xmlDom.responseText);
}
else
alert("意外错误!请联系开发人员!");
}
}
xmlDom.send(xmlDom);
}
//新闻添加,用到post方式
function add(tit,con)
{
xmlDom=xmldom();
urlstring="lx=add&tit="+escape(tit)+"&con="+escape(con)
var d=new Date();
var strURL="news.asp?d="+d.getTime();
xmlDom.open("post",strURL);
xmlDom.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
xmlDom.onreadystatechange=function()
{
if(xmlDom.readyState==4)
if(xmlDom.status==200)
{
if(xmlDom.responseText=="OK")
{
// document.getElementById("news_list").innerHTML=unescape(xmlDom.responseText);
alert("保存成功!");
ll1();
}
else
alert("意外错误!请联系开发人员!");
}
}
xmlDom.send(urlstring);
}
function load_news_list()
{
xmlDom=xmldom();
var d=new Date();
//提交登陆请求的URL变量
var strURL="news_list.asp?d="+d.getTime();
xmlDom.open("get",strURL,true);
xmlDom.onreadystatechange=function()
{
if(xmlDom.readyState==4)
if(xmlDom.status==200)
{
if(xmlDom.responseText!="")
{
document.getElementById("news_list").innerHTML=unescape(xmlDom.responseText);
check();
}
else
alert("意外错误!请联系开发人员!");
}
}
xmlDom.send(xmlDom);
}
本想加个特殊颜色,结果没加上,呵呵
你的代码太多了,没时间去看,上班中。
我估计是因为ajax请求的问题, 你两个方法请求ajax后,就存在了3个线程。
所以才给了你没有执行的错觉,实际上代码是执行了。 你可以用alert分别在ajax请求开始之前,以及成功时弹出来看看执行到哪一步了。
setTimeout("check()",0);采用这种方法,可以实现同时加载,不过,有一定机率出问题,调用错误,不知道怎么回事。如将setTimeout的时间设置半秒以上,基本没有调用错误问题,看来同时进行两个AJAX进程,是有可能出现混乱,请问如何解决?
用
$(load_news_list());
$(check());
方法,
将alert()加入到load_news_list()函数中,时而执行,时而不执行,执行时,执行了三遍,本应该只执行一次即可。
将alert()加入到check()函数中,每次都执行,并且只有一次,正常
或者两个请求同时发起 创建的xmlhttp对象命不同的名 就不会冲突了
function check()
{
xmlDom=xmldom();
var d=new Date();
var strURL="/check_login.asp?d="+d.getTime();
xmlDom.open("get",strURL,true);
xmlDom.onreadystatechange=function()
{
if(xmlDom.readyState==4)
if(xmlDom.status==200)
{
if(xmlDom.responseText!="")
{
document.getElementById("log").innerHTML=unescape(xmlDom.responseText);
}
else
alert("意外错误!请联系开发人员!");
}
}
xmlDom.send(xmlDom);
}//加载后台新闻列表
function load_news_list()
{
xmlDom1=xmldom();//将此变量改变一下名称,即解决问题
var d=new Date();
//提交登陆请求的URL变量
var strURL="news_list.asp?d="+d.getTime();
xmlDom1.open("get",strURL,true);
xmlDom1.onreadystatechange=function()
{
if(xmlDom1.readyState==4)
if(xmlDom1.status==200)
{
if(xmlDom1.responseText!="")
{
document.getElementById("news_list").innerHTML=unescape(xmlDom1.responseText);
}
else
alert("意外错误!请联系开发人员!");
}
}
xmlDom1.send(xmlDom1);
}