Archives by date

You are browsing the site archives by date.

CakePHP2系にて通信手段がAjaxかどうか判定する。

メモ。

if($this->request->is('ajax')){
	// Ajaxによる通信です。
}

これはシンプルかつ強力。リクエストオブジェクト便利だね。

jQueryによるAjax、もっとシンプルに。

この記事←で書いたAjaxの処理部分、わざわざdone()、fail()、に無名関数を入れてやら無くてもよかった模様。

関数を定義した後以下の書き方でOK。

$.ajax({
	url: 'http://example.com/',
}).done(success).fail(error);

ちなみに値をPOSTで送信したい時などはこんな感じ。

var data = {"my":"apple","favorite":"banana","food":"orange"};
$.ajax({
	url: 'http://example.com/',
	type: 'POST',
	data: data,
}).done(success).fail(error);

簡単だね!
ちなみにCakePHPだとPOSTされた値は以下の、

$this->request->data;
$this->params->data;

どっちでも参照できるけど、どっちがいいんだろうね。せっかくリクエストオブジェクトが用意されているならそっちを使ったほうが良いような気もするけど、ついつい$this->paramsの中に都合の良いパラメーターが入ってきてないか確認しにいっちゃうよね。笑

だって$this->paramsちゃん万能なんですもの!!

jQueryでのAjax処理、自分用メモ。

やるたびに調べるのはもういやだぁぁぁぁ!
ということで自分用メモ。
※コードが激しくイケてない可能性が十分考えられます。

// まずは成功時の処理と失敗時の処理を定義
var success = function(data){
	// 成功時の処理を記述
	alert('ok');
}
var error = function(data){
	// 失敗時の処理を記述
	alert('ng');
}

$.ajax({
    url: 'http://example.com/',
}).done(function(data){
	success(data);
}).fail(function(data){
	error(data);
});

jQuery1.8以上では上記の記述方法が推奨されており、従来利用していた関数は以下のような対応になっている。

jQuery 1.7以下 jQuery 1.8以上
success() done()
error() fail()
complete() always()

EclipseのPDTにて半角スペースのインデントを取り除く方法。

ソースコード内のインデントがTabではなく半角スペース4つ分とかだった場合、デフォルト状態だとShift+Tabでインデントを下げることが出来なかったので、どうしたらいいか調べたときのメモ。(※英語環境なのでご了承を。)

bc8cdb7b1b343fc8c9691ae6c62eab99

1, 上部メニューバーより「Window」→「Preferences」を選択

21da0303b4936dcefb348bb40aae7990

2, 出てきたウィンドウの左メニューツリーの「PHP」→「Code Style」→「Formatter」を選択

3, 右ウィンドウの「Tab policy:」を「Tabs」から「Spaces」に変更

4, 最後にウィンドウ下部の「OK」を押せば完了

この設定を行うことで、Tab文字だろうが半角スペースだろうがShift+Tabでインデントを下げることが可能になった。
他人が書いたコードのインデントルールを自分好みに整形しなおしたいときにこれは便利。

※インデントを消し去った後、この項目の設定を戻し忘れないように注意