【发布时间】:2016-12-26 14:20:03
【问题描述】:
首先:我是一个完全的新手。这些函数是我编写的第一个函数。我使用 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 和我真正想要发生的情况相比。
对不起,我的英语很差。我是瑞典人:-)
感谢您的帮助。我需要有知识的人告诉我他们是否立即看到任何看起来很疯狂并且应该改变的东西。我的问题可能与我网站上发生的其他事情有关。
问候。
【问题讨论】:
-
嗯,那里似乎没有什么特别不合适的地方
-
@Bryant Jackson:你可以在给出错误评价之前自己学习......
标签: javascript jquery loops reload