ユーザーがjQueryuiボタンをクリックすると、特定の情報がデータベースに送信されるブックマーク機能に取り組んでいます。ただし、ユーザーが入力する情報がないため、フォームは使用していません。
セッション データからユーザーの ID を取得し、URI セグメント (URL の一部) を送信しています。
codeigniter/php を使用します。
フォーム/データが入力されていないため、ajax/post 関数のデータ部分に何を入れるべきか、およびコントローラーの「送信」部分をどうするかを理解しようとしています。
コントローラ
function addBookmark(){
if ($this->input->post('submit')) {
$id = $this->session->userdata('id');
$bookmark = $this->uri->segment(3, 0);
$this->bookmarks_model->postBookmark($id, $bookmark);
}
}
モデル
function postBookmark() {
$data = array(
'user_id' => $user_id,
'bookmark_id' => $bookmark,
);
$this->db->insert('bookmarks', $data);
}
HTML
<button class="somebutton">Add bookmark</button>
jQuery
$('.somebutton').click(function() {
$.ajax({
url: 'controller/addBookmark',
type: 'POST',
data: ???,
success: function (result) {
alert("Your bookmark has been saved");
}
});
});