ajax側でprocessData: falseを設定しっぱなしになっててハマったのでちょいメモ
CakePHPに向けてajaxリクエストを送信する際、processData: falseのまま送信すると、$this->dataが空になる
※メモ:processData = trueにすると、dataに指定したデータをクエリ文字列に変換する
processData: trueを指定するか、デフォルトがtrueなので何も指定しないように変更
$.ajax({
cache : false,
url: postUrl,
type: 'POST',
data: postData,
dataType: 'json',
beforeSend: beforeSend,
processData: true // ←これ
})
しかし、フォームがmultipart/form-dataの場合は、processDataとcontentTypeをfalseにしないといけないので、コピペでソース持ってきたりするとうっかり忘れやすい
$.ajax({
cache : false,
url: url,
type: 'POST',
data: postData,
dataType: 'json',
contentType: false, // ←ここと
processData: false, // ←ここ
beforeSend: beforeSend
})