2014-03-04 162 views
5

我想在document.ready()中解析我的URL,以便我可以获取当前页面的id并使用AJAX调用的结果动态填充页面。我遇到的问题是因为我认为'document.URL'引用了前一页,直到'document.ready()'完全执行完毕。从document.ready获取当前URL

我该如何解决这个问题?我研究过document.load(),并自动刷新页面一次,但我似乎无法得到这个工作。我从昨天开始一直在努力。

这里是我的代码:

$(document).ready(function(){ 
    var id = document.URL.substring(document.URL.lastIndexOf('?')+4); 
    if(!loadObject.executed) { 
     loadObject(id); 
     loadObject.executed = true; 
    } else { 
    $('#page-full').on('pagecreate', loadObject(id)); 
    } 
}); 
+2

尝试使用一个小'setTimeout'?顺便说一句,你可以仔细看看window.popstate和pushstate,以获得动态AJAX历史记录操作 –

+1

location.search可以是另一种选择 – mplungjan

+0

这不应该是对'document.URL'的限制,它将如何识别最后一页?你确定网址不正确吗? –

回答

4

尝试改用document.URL的document.location.href。

希望这会有所帮助。

+0

我这样做,仍然产生相同的错误。有趣的是,我有一个朋友在他的电脑上试用它,并且他不能产生同样的错误。我结束了在setTimeout(loadObject,0)中调用函数并且它消失了。谢谢你的帮助。 – mmelear