0

私はブックマーク機能(codeigniter、jquery、ajax)に取り組んでいます。以下は、フォームとjQueryコードのHTMLです。

何が起こっているのか:

  • フォームはデータベースにデータを送信しています
  • ページがリロードされています
  • 成功アラートが表示されません
  • e.preventDefault()を使用するかfalseを返すと、ページはリロードされず、成功アラートが表示されますが、データベースに渡されるデータは0です。

HTMLフォーム

<?php echo form_open('bookmarks/addBookmark'); ?>
<?php echo form_hidden('bookn', $bname); ?>
<?php echo form_hidden('booki', $this->uri->segment(4, 0)); ?>
<button class="bb_button">Bookmark</button>
<?php echo form_close(); ?>

jQuery

$('.bb_button').click(function() { 
            $.ajax({
                url: 'bookmarks/addBookmark',
                type: 'POST',
                success: function (result) {
                    alert("Your bookmark has been added.");
                }                                         
            }); 
       //return false<--this is where I used it
    });
4

1 に答える 1

2

データを渡していません。

試す

$('.bb_button').click(function(e) { 
    $.ajax({
        url: 'bookmarks/addBookmark',
        type: 'POST',
        data: { bookn: $("[name='bookn']").val()​, booki: $("[name='booki']").val()​ },
        success: function (result) {
            alert("Your bookmark has been added.");
        }                                         
    }); 
    e.preventDefault();
});
于 2012-05-03T13:45:37.587 に答える