1
發送識別錯誤的JQuery
我有以下的jQuery代碼:從CakePHP的
$('#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中的插入查詢是否成功,「ok」消息都會被回送到控制檯,除非HTTP請求失敗或出現問題。
如何獲取蛋糕以將錯誤發回給JQuery,以便在Cake操作中存在驗證錯誤或其他插入錯誤的情況下,JQuery會將其識別爲錯誤並回顯「不正常」給控制檯?
,看起來像它的工作,但有我爲什麼不能用這似乎是內置什麼特別的原因在JQuery的錯誤處理能力,並把我的錯誤邏輯在'錯誤:'? CakePHP中沒有任何東西可以返回,以使JQuery將錯誤視爲錯誤而不是觸發條件成功的關鍵。如果沒有,沒關係,我會標記你的答案是正確的......但我只是想先清楚。 – Joseph 2012-07-16 07:51:05
對於在Ajax編輯動作的其他部分,你可以使用 $ invalid = $ this-> Order-> invalidFields(); echo json_encode($ invalid); 由此你可以在視圖中看到錯誤,所以jquery可以處理它。 – Krishna 2012-07-16 12:24:28
是的,但我的觀點是,所有的東西仍然在JQuery的'success:'下處理,所以JQuery不'知道'這是一個錯誤。我想要做的是從我的Cake應用程序向JQuery傳遞一個響應,JQuery將識別爲錯誤並在'error:'下執行代碼: – Joseph 2012-07-17 02:54:21