2012-05-03 39 views
0

我正在研究书签功能(codeigniter,jquery,ajax)。下面是表单和jQuery代码的HTML。在codeigniter中停止页面加载jquery + ajax书签功能

这里发生的事情:

  • 形式的数据提交给数据库
  • 的页面重新加载
  • 我没有得到成功的警报
  • 如果我使用电子邮件。 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 
    }); 
+0

你不发送任何类型的数据以及您的ajax请求。 –

回答

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(); 
}); 
+1

YESSSSS!对于未来的谷歌搜索引擎,我必须在URL中添加一个前导斜杠(认为这对Codeigniter来说是独一无二的),并且必须在字段周围加上引号,并且必须在数据前后删除空格(例如{“bookn”: ...)。奇迹般有效 – chowwy