0

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>
4

3 に答える 3

1

return falseブロック内にエクストラがある$.ajaxため、おそらくエラーが発生するため、フォームは ajax 経由で送信されません。それを取り除けば、何の問題もないはずです。

于 2013-03-03T12:17:31.557 に答える
0

$.ajax関数内からreturnfalseを削除します。その構文エラー。$ .ajax関数は、引数としてjsonオブジェクトのみを想定しています。「returnfalse」をjsonオブジェクトの一部にすることはできません。テスト中は常にJavaScriptコンソールを開いたままにしておく必要があります-ChromeでCtrl-Shift-Jを押し、コンソールを選択してJSエラーを確認します。

または<input type=button>の代わりに使用することもお勧めします<input type=submit><button></button>

于 2013-03-03T12:19:22.737 に答える
0

submitフォームのイベントを使用してreturn false、ajax コールバックからを削除します。

$('#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-03T12:18:17.163 に答える