【发布时间】:2016-05-23 03:58:00
【问题描述】:
这是我的代码。它加载页面内容而不刷新。
问题是当我单击由 jQuery 和 ajax 处理的按钮时,它会触发与加载页面一样多的次数。
例如如果加载 2 个页面,jQuery 将触发两次
如果我加载了 4 个页面,jQuery 将加载 4 次。
<script>
$(document).ready(function(){
//set trigger and container
var trigger = $('#nav ul li a'),
container = $('#container');
//do on click
trigger.on('click', function(e){
/***********/
e.preventDefault();
/* reload content without refresh */
//set loading img
$('#container').append('<div id = "loading">WAIT... <img src = "img/ajax-loader-small.gif" alt="Currently loading" /></div>');
//change img location to center
$("#loading").css({"position": "absolute", "left": "50%", "top": "50%"});
//get the trigger to reload the contents
var $this = $(this),
target = $this.data('target');
container.load(target + '.php');
// return false;
$(trigger).die('click');
});
});
这个脚本触发的次数与我通过 load() 函数加载页面的次数一样多,这意味着同一篇文章将被多次插入数据库中
<script>
$(document).ready(function(){
$(document).on("click",".fa-pinterest-square",function(e) {
var form = $(this).find('form'); //Since the form is child to <i>
$.ajax({
url: "includes/widgets/add_pains.php",
type: "POST",
data: form.serialize(),
success: function(data) {
alert(data);
}
});
});
});
</script>
我该如何解决这个问题?
【问题讨论】:
-
你的问题不是很清楚。就目前而言,您的代码不会触发 anything 多次。它真的很简单。你有没有留下任何代码?如果是,请在此处发布。
-
谢谢,不过我差点把网站上的所有东西都删了,还是没解决,就是第二个脚本的问题。
标签: javascript php jquery ajax