JQuery移动缓存问题,除非重新加载页面,否则不会触发onClick
好的,首先让我假设这与缓存有关。但我不是100%确定 我在一个移动网站上工作,你可以查看 问题是注销,请准确地单击注销按钮 如果用户登录,导航到站点上的任何页面,然后尝试单击注销(请参阅下面的函数),他们将一无所获。没有发布,没有重新定位,如果我在函数中添加了警报,它将不会运行。没有什么。除非用户重新加载页面并尝试注销JQuery移动缓存问题,除非重新加载页面,否则不会触发onClick,jquery,jquery-mobile,Jquery,Jquery Mobile,好的,首先让我假设这与缓存有关。但我不是100%确定 我在一个移动网站上工作,你可以查看 问题是注销,请准确地单击注销按钮 如果用户登录,导航到站点上的任何页面,然后尝试单击注销(请参阅下面的函数),他们将一无所获。没有发布,没有重新定位,如果我在函数中添加了警报,它将不会运行。没有什么。除非用户重新加载页面并尝试注销 function submitLogout(){ $.post("../server/log.php", { uaction: "logout" },function(d
function submitLogout(){
$.post("../server/log.php", { uaction: "logout" },function(data){
window.location = "/index.php";
});
}
复制步骤:
function submitLogout(){
alert("wtf");
$.post("../server/log.php", { uaction: "logout" },function(data){
window.location = "/index.php";
});
}
警报永远不会被调用。如果相对路径有问题,我就不知道了。这个职位从来没有人打过电话。我已经在函数上添加了一个断点,我可以确认它从未被输入。您使用对
log.php
的相对引用:“./server/log.php”
您可以依赖相对路径,但始终要考虑引用的内容。在本例中,它是当前URL客户端的位置,而不是JS文件的路径
在您的情况下,解决方案包括将。
部分替换为/bin
,这是端点所在的文件夹
以下是完整的修复方法:
function submitLogout() {
alert('submitLogout is triggered');
$.post("/bin/server/log.php", { uaction: "logout" },function(data){
window.location = "/index.php";
});
}
当绕过步骤2-4时,会出现相同的错误。在未登录的情况下单击“注销”会产生相同的错误:试图到达不远处时出现404错误状态?佩奇,我不明白。。奇怪。你在哪个浏览器上测试这个。那将是Chrome15,我在开发者工具的“网络”区域得到这个。我运行Chrome13,没有404错误。FF 6也没有显示404。我怎么能问你有Chrome15吗?我会担心稳定的版本。对我来说,13年的支持很好,但这不起作用。就像我在函数本身之前说过的,它没有被触发!如果我将
警报(“注销”)
放在从未点击的帖子之前。如果路径错误,为什么登录时发布到相同的相对路径,或者刷新页面会修复错误?@rlemon我修复了我的代码。我忘了在整个AJAXy内容之前添加“/”。我在你的网站上测试了它,在不同的情况下。一切顺利。考虑用这个函数替换当前的函数并让我们知道结果吗?那么为什么这对登录函数(同样的函数,不同的UAct)工作呢?为什么当我刷新页面时,它也会工作,或者没有导航到子页面?顺便说一句,上次的更新成功了。实际上,如果您从控制台将步骤5替换为“callsubmitLogin()
”(以便模拟单击登录按钮),您将看到它也不起作用。所以这根本不是关于注销按钮的问题。这显然是关于当前路径的,出于一些神秘的原因,jQueryMobile必须根据“浏览历史”对其进行不同的设置。考虑到这一点,你应该考虑为登录方法使用相同的解决方案,以防万一。