【发布时间】:2014-09-09 10:14:31
【问题描述】:
我的 AJAX 请求有问题。我通过 foreach 循环显示数据,为每个条目创建删除按钮。我第一次单击其中一个按钮时,条目被正确删除,但第二次单击下一个元素失败。
<?php foreach ($notes as $note): ?>
...
<script type="text/javascript">
$(document).ready(function () {
$("<?php echo '#NoteDeleteButton' . $note['Note']['id']>").bind("click", function () {
$.ajax({async: true,
dataType: "html", success: function (data) {
$("#NoteUpdateSection").html(data);
}, type: "POST", url: "<?php if($this->base != '') { echo '' . $this->base; } ?>\/notes\/delete\/<?php echo $note['Note']['id'] ?>\/<?php echo $current_controller ?>\/<?php echo $current_id ?>"});
return false;
});
});
</script>
...
<?php endforeach; ?>
在我的浏览器控制台中,第一次单击删除按钮后出现此错误:
Uncaught SyntaxError:
Unexpected identifier jquery.min.js?1406620464:2
(anonymous function) jquery.min.js?1406620464:2
n.extend.globalEval jquery.min.js?1406620464:2
n.fn.extend.domManip jquery.min.js?1406620464:3
n.fn.extend.append jquery.min.js?1406620464:3
(anonymous function) jquery.min.js?1406620464:3
n.access jquery.min.js?1406620464:3
n.fn.extend.html jquery.min.js?1406620464:3
$.ajax.success 71:13184
j jquery.min.js?1406620464:2
k.fireWith jquery.min.js?1406620464:2
x jquery.min.js?1406620464:4
b jquery.min.js?1406620464:4
您对如何处理这个问题有任何想法吗?我感谢您的帮助!非常感谢!!
【问题讨论】:
-
我认为您可能正在用动态添加的内容替换按钮。查看委托事件learn.jquery.com/events/event-delegation
-
您提到第一次点击后已经出现错误。似乎它来自 html() 函数。 ajax调用返回的数据是什么?
标签: javascript jquery ajax cakephp cakephp-2.0