gpt4 book ai didi

javascript - 我的脚本导致无限循环

转载 作者:行者123 更新时间:2023-11-29 21:12:04 24 4
gpt4 key购买 nike

首先:我是个新手。这些功能是我写过的第一个。我使用 Wordpress(网站上使用的最重要的插件称为 BuddyPress)。我本质上想要脚本做的是从我的数据库中删除一些东西,然后在按下某个链接时重新加载页面一次。仅此而已。

我在使用 Internet Explorer 时遇到问题,我的页面陷入无限循环。 Chrome 根本不会出现这个问题。我有一个包含以下内容的 PHP:

<li><a id="edit" href="#" onclick="runUpdateForm();">Uppdatera profil</a></li>

当按下链接时,运行以下脚本:

<!--Javascript runUpdateForm-->
<script type="text/javascript">
function runUpdateForm() {
$.post ( ajaxurl, {
action:'resetUser',
user_id:jQuery("#user_id").val()
});
window.location.reload();
}
</script>
<!--End Javascript runUpdateForm-->

在我的函数文件中找到以下内容:

function resetUser() {
$user_id=get_current_user_id();
global $wpdb;
$wpdb->query("DELETE FROM wp_profile_updates WHERE user_id='".$user_id."'");
die(); // close the connection
}

add_action('wp_ajax_resetUser', 'resetUser'); // add action for logged users
add_action( 'wp_ajax_nopriv_resetUser', 'resetUser' ); // add action for unlogged users

在谷歌搜索了一下之后,我发现了下面这段代码,我把它放在了 location.reload() 的正上方:

history.pushState("", document.title, window.location.pathname + window.location.search);

这使得无限循环消失了,但它仍然会在 Internet Explorer 中重新加载一次,与 Chrome 相比,这是我真正想要发生的事情。

抱歉我的英语不好。我是瑞典人:-)

感谢您的帮助。我需要有知识的人告诉我他们是否立即看到任何看起来很疯狂并且应该改变的东西。我的问题可能与我网站上发生的其他事情有关。

问候。

最佳答案

您的代码执行以下操作:启动 ajax,然后重新加载。由于 ajax 是异步的,它永远不会发布到服务器,它会被重新加载中断。所以你需要等待 ajax:

<script type="text/javascript">
function runUpdateForm() {
$.post ( ajaxurl, {
action:'resetUser',
user_id:jQuery("#user_id").val()
},function(){
// executed on success
window.location.reload();
});
}
</script>

另外,我想知道 ajaxurl 在哪里定义...

关于javascript - 我的脚本导致无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41332562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com