我想在ajax成功时刷新一个特定的div,我使用了下面的代码,但是整个页面都被刷新了。
<script type="text/javascript">
$('#post_submit').click(function() {
var form_data = {
csrfsecurity: $("input[name=csrfsecurity]").val(),
post_text: $('#post_text').val()
};
$.ajax({
url: "<?php echo site_url('/post_status'); ?>",
type: 'POST',
data: form_data,
success: function(response){
$(".home_user_feeds").html("markUpCreatedUsingResponseFromServer");
}
return false;
});
return false;
});
</script>发布于 2013-03-03 20:17:32
在$.ajax块中有一个额外的return false,它很可能会导致错误,所以您的表单不会通过ajax提交。如果你删除了它,你应该不会有任何问题。
发布于 2013-03-03 20:18:17
使用表单的submit事件并从ajax回调中删除return false:
$('#myFormId').on('submit', function() {
var form_data = {
csrfsecurity: $("input[name=csrfsecurity]").val(),
post_text: $('#post_text').val()
};
$.ajax({
url: "<?php echo site_url('/post_status'); ?>",
type: 'POST',
data: form_data,
success: function(response){
$(".home_user_feeds").html("markUpCreatedUsingResponseFromServer");
}
});
return false;
});发布于 2013-03-03 20:19:23
从$.ajax函数中删除返回false。这是一个语法错误。$.ajax函数只需要一个json对象作为参数。"return false“不能是json对象的一部分。你应该在测试过程中始终保持JavaScript控制台的打开状态--在Chrome中按Ctrl-Shift-J组合键,然后选择console来查看任何JS错误。
我还建议您使用<input type=button>而不是<input type=submit>或<button></button>
https://stackoverflow.com/questions/15185515
复制相似问题