問題

Input::post()の中身がnullになる。

具体的に

jQueryを利用してfuelphpのコントローラーファイルにデータをPOSTメソッドで渡しました。
しかし、リクエスト先のコントローラーファイルで渡されたはずのデータを取得しようとInput::postメソッドを実行するも、得られた結果はnullでした。
以下が、それぞれのコードとなります。

1.javascript

$(function()
{   
    $('.bookmark').click(function()
{
    var offer_id = '<?php echo $offer_id; ?>';
    var button  = this;

    if($(this).attr('condition') == 'notbookmark')
    {
        $.ajax(
        {
            url:            '<?php echo Uri::base();?>'+'bookmark/add.json',
            type:           'POST',
            contentType:    'application/json',
            dataType:       'json',
            data: {offer_id: offer_id},
            success: function(data)
            {
                if (data.login_check == false)
                {
                    $(button).attr('class', 'btn btn-warning btn-lg bookmark');
                    $(button).attr('condition', 'notbookmark');
                    $(button).text("ログインする必要があります");
                    $(button).prop('disabled', true);
                }
...以下省略

2.APPPATH/controller/bookmark.php

<?php

class Controller_Bookmark extends Controller_Rest
{
    public function post_add()
{
    // ログインチェック
    $auth = Auth::instance('simpleauth');
    if ( ! $auth->check())
    {
        return $this->response(array(
            'login_check' => false,
            'register_check' => false,
        ));
    }

    $username = $auth->get('username');
    $offer_id   = Input::post('offer_id');

    // ブックマーク数が0であるかチェック
    if (Model_Bookmark::count_how_many_bookmarks($username, $offer_id) != 0)
    {
        return $this->response(array(
            'login_check' => true,
            'register_check' => false,
        ));
    }
...以下省略

ブラウザのデベロッパーツールでヘッダーのリクエスト情報を確認したところ、POSTメソッドで「offer_id=5」のように、コントローラーにデータが送られているのが確認されました。
一方で、受け取り元のコントローラーで

var_dump(Input::post());
var_dump($_POST);

を実行したのですが、共に結果が

array (size=0)
  empty

でした。

どのようにしたら、コントローラー側で正しくデータを受け取ることができるでしょうか。
よろしくお願い致します。