私は次のJQueryコードを持っています:
$('#dropdown').bind('change', function() {
var formData = $('#newform').serialize()
$.ajax({
type: 'POST',
url: baseUrl+"crm/orders/ajaxEdit",
data: formData,
success: function(){
console.log("ok");
},
error: function() {
console.log("not ok");
}
});
});
ajaxEdit
アクションは非常に簡単です。
function ajaxEdit() {
$this->layout = 'ajax';
$this->autoRender = false;
$this->Order->save($this->data['Order']);
}
フォームからのデータが私のCakePHPコントローラーの正しいアクションに投稿されるという点でうまく機能します。
ただし、CakePHPでの挿入クエリが成功したかどうかに関係なく、HTTPリクエストが失敗した場合などを除いて、「ok」メッセージがコンソールにエコーされます。
Cakeアクションに検証エラーまたはその他の挿入エラーが発生した場合に、JQueryがエラーとして認識してコンソールに「notok」をエコーするエラーをJQueryに送り返すようにCakeを取得するにはどうすればよいですか?