AJAX相关的执行顺序问题?很诡异! 本帖最后由 therainycity 于 2009-10-14 10:40:34 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这样看看function loadfilept(GameFileId) { document.getElementById("addgamestate").innerHTML = "正在读取游戏文件(ID:" + GameFileId + ")已选机型..."; document.getElementById("addgamestate").style.display = "block"; var xmlObj = createXmlObj(); var strGet = "GameFileId=" + GameFileId; xmlObj.open("POST", "AjaxGame.aspx?action=loadfilept", true); xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlObj.Send(strGet); if(xmlObj.readyState == 4) { var str = xmlObj.responseText; if (str.length > 0) { var PhoneTypeId = str.split("|||"); var objs = document.getElementsByName("ptid"); for(var i = 0; i < objs.length; i++) { objs[i].checked = false; for (var j = 0; j < PhoneTypeId.length; j++) { if (objs[i].value == PhoneTypeId[j]) { objs[i].checked = true; } } } document.getElementById("addgamestate").innerHTML = "读取游戏文件(ID:" + GameFileId + ")已选机型成功!"; } else { alert("修改游戏手机型号关系错误!"); } } } ls的应该是正解,也可以到readyState==1里面写正在读取,当然还是要修改ajax是否异步lz因为你那是同步的ajax,所以只有当一运行完以后才会有显示给用户,而此时下面已经显示读取文件 了所以只改为true就行了 这段代码只看见了xmlobj的创建 其中并没有看见设置回调函数 xmlObj.onreadystatechange lz做的事情是设置完xmlObj后直接运行下面的代码 结果就肯定不对了 异步的概念不清 果真是的,这样的话,估计上面修改的还是不行function loadfilept(GameFileId) { document.getElementById("addgamestate").innerHTML = "正在读取游戏文件(ID:" + GameFileId + ")已选机型..."; document.getElementById("addgamestate").style.display = "block"; var xmlObj = createXmlObj(); var strGet = "GameFileId=" + GameFileId; xmlObj.onreadystatechange=function() { if(xmlObj.readyState == 4) { var str = xmlObj.responseText; if (str.length > 0) { var PhoneTypeId = str.split("|||"); var objs = document.getElementsByName("ptid"); for(var i = 0; i < objs.length; i++) { objs[i].checked = false; for (var j = 0; j < PhoneTypeId.length; j++) { if (objs[i].value == PhoneTypeId[j]) { objs[i].checked = true; } } } document.getElementById("addgamestate").innerHTML = "读取游戏文件(ID:" + GameFileId + ")已选机型成功!"; } else { alert("修改游戏手机型号关系错误!"); } } } xmlObj.open("POST", "AjaxGame.aspx?action=loadfilept", true); xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlObj.Send(strGet); } |zyciis| 如何用cookie来保存一个表对像,并实现增删改,谢谢 javaScript判断FCK文本框中的值的长度,急!!!!!!!~~~~~~~~ 如何在utf-8页面用javascript将表单数据以gb2312的页面编码传递。 html中的部分内容被替换后无法再触发事件 类似csdn论坛两周内不用再登录,cookie具体怎么实现啊? js编码问题,很棘手 求一正则 改变链接的属性问题。。。弱弱的问。 用JAVASCRIPT向textarea中添加数据!!! 变量未定义? 求教 各位高手 jQuery读取数据库动态生成tree的思路 简单的js添加事件没有反应
{
document.getElementById("addgamestate").innerHTML = "正在读取游戏文件(ID:" + GameFileId + ")已选机型...";
document.getElementById("addgamestate").style.display = "block";
var xmlObj = createXmlObj();
var strGet = "GameFileId=" + GameFileId;
xmlObj.open("POST", "AjaxGame.aspx?action=loadfilept", true);
xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlObj.Send(strGet);
if(xmlObj.readyState == 4)
{
var str = xmlObj.responseText;
if (str.length > 0)
{
var PhoneTypeId = str.split("|||");
var objs = document.getElementsByName("ptid");
for(var i = 0; i < objs.length; i++)
{
objs[i].checked = false;
for (var j = 0; j < PhoneTypeId.length; j++)
{
if (objs[i].value == PhoneTypeId[j])
{
objs[i].checked = true;
}
}
}
document.getElementById("addgamestate").innerHTML = "读取游戏文件(ID:" + GameFileId + ")已选机型成功!";
}
else
{
alert("修改游戏手机型号关系错误!");
}
}
}
所以只改为true就行了
{
document.getElementById("addgamestate").innerHTML = "正在读取游戏文件(ID:" + GameFileId + ")已选机型...";
document.getElementById("addgamestate").style.display = "block";
var xmlObj = createXmlObj();
var strGet = "GameFileId=" + GameFileId;
xmlObj.onreadystatechange=function() {
if(xmlObj.readyState == 4)
{
var str = xmlObj.responseText;
if (str.length > 0)
{
var PhoneTypeId = str.split("|||");
var objs = document.getElementsByName("ptid");
for(var i = 0; i < objs.length; i++)
{
objs[i].checked = false;
for (var j = 0; j < PhoneTypeId.length; j++)
{
if (objs[i].value == PhoneTypeId[j])
{
objs[i].checked = true;
}
}
}
document.getElementById("addgamestate").innerHTML = "读取游戏文件(ID:" + GameFileId + ")已选机型成功!";
}
else
{
alert("修改游戏手机型号关系错误!");
}
}
}
xmlObj.open("POST", "AjaxGame.aspx?action=loadfilept", true);
xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlObj.Send(strGet);
}