始めに
このページは、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
¥1,597
(2024/10/15 10:19:54時点 Amazon調べ-詳細)
(2024/10/15 10:19:54時点 Amazon調べ-詳細)