【FuelPHPの使い方】jQueryを使ったAjaxの実装方法

記事内に商品プロモーションを含む場合があります

始めに

このページは、PHPのフレームワーク「FuelPHP」の学習中の僕がメモとして残しているものです。内容に間違いがあればご連絡いただけると幸いです。

このページではFuelPHPを利用する場合のAjax処理のやり方について解説しています。

JavaScript側の書き方サンプル

$('.js-regist-review').on('click', function(e) {
    e.preventDefault();

  // Ajax処理
   $.ajax({
        type: 'POST'
        url: location.origin + "/ajax/regist.json",
        dataType: 'json',
        data: {
             // フォームの入力内容
             title : $('.js-get-val-review-title').val(),
             comment : $('.js-get-val-review-comment').val(),
        }
    }).done(function(data, jqXHR, textStatus){
       // ajax成功
       // PHP側から帰ってきたdataを使って、色々処理をする。

   }).fail(function(jqXHR, textStatus, errorThrown){
       // ajax失敗
       console.log("XMLHttpRequest : " + XMLHttpRequest.status);
       console.log("textStatus : " + textStatus);
       console.log("errorThrown : " + errorThrown.message);
  });
});

特に通常のAjaxの書き方と変わりませんが、「url」には「コントローラー名/アクション名.json」と書きます。

PHP(コントローラー)側の書き方サンプル

class Controller_Ajax extends Controller_Rest {

  public function post_regist(){
   //色々処理を書く
   
   //データを返却する
 $json = ['result' => true];
  return $this->response($json);

  }
}

Ajaxを使う場合は、「Controller_Rest」を拡張して使います。

また、アクション名は通常「action_任意の名前」という形で書きますが、ajaxを使う場合は「通信方法_任意の名前」で書きます。

例えば、postの場合は「post_任意の名前」、getの場合は「get_任意の名前」といった感じです。

javaScriptからpostやgetで送られてきたデータをPHP側で使うには、Inputクラスを使って、「Input::post(‘title’);」や「Input::post(‘title’);」のように書けばデータを取得できます。

FuelPHPのおすすめ書籍

created by Rinker
¥436
(2024/04/24 11:13:54時点 Amazon調べ-詳細)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA