Ajax 问题引起页面代码不执行

xredleaf 2008-09-22 09:44:32
window.onload = function() {
new Ajax.Request('${contextPath}/workspace/loadNavigatorMenus.xhtml?nodeId=${nodeId}',
{
method: "get",
asynchronous: false,
onComplete: showMenuTag
}
);
};
function showMenuTag(json) {
var menus = eval('('+json.responseText+')');

...省略...

//alert("menus0NodeId="+menus[0]["nodeId"]); //将这句注释掉下面这句就不执行,去掉注释就执行了
showLeftMenu(menus[0]["nodeId"]);
}
function showLeftMenu(nodeId) {
//alert(nodeId);
top.frames['leftFrame'].postRequest(nodeId);
}


感觉是ajax未同步执行,但我设了asynchronous: false了,不知道是什么问题,大家帮忙看看!
...全文
133 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
TaoTaoYou 2008-09-26
  • 打赏
  • 举报
回复
我也碰到类似问题,我的无限分类,每点击一下某个分类就会解发 一个函数, 可当点击分类请求他的子类时 这个函数不会执行, 而当再点击刚刚点过的收起子类的时候,他才会执行这个函数,郁闷啊
cgisir 2008-09-26
  • 打赏
  • 举报
回复
觉得和你 ...省略... 的内容有关系吧
或者你可以
var menus = eval('('+json.responseText+')');
alert(menus.join('\n')); // 看看是否正确

看你的代码和你上面的同步异步没关系, 就算异步也不影响showMenuTag的...
gggvke 2008-09-25
  • 打赏
  • 举报
回复
window.onload = function() {
new Ajax.Request('${contextPath}/workspace/loadNavigatorMenus.xhtml?nodeId=${nodeId}',
{
method: "get",
asynchronous: false,
onComplete: showMenuTag
}
);
};-这好像是多了一个分号
xiaoD137 2008-09-24
  • 打赏
  • 举报
回复
一楼是强人啊
佩服啊
xredleaf 2008-09-22
  • 打赏
  • 举报
回复
不可能啊,我没改过prototype1.6.js里面的代码的
Go 旅城通票 2008-09-22
  • 打赏
  • 举报
回复
检查Ajax.Request里面的代码,应该没有接受参数asynchronous: false

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧