#Edit我使用CakePHP 2.3.5CakePHP的 - 阿賈克斯工作不正常
我想知道什麼是我的Ajax請求,並控制行爲的問題。 這是我遇到的問題:
- 阿賈克斯 - POST請求總是失敗(我總是得到錯誤響應)
- 即使這樣,我可以O_O
- 到DATABSE添加新的用戶,即使我有beforeFilter到認識Ajax請求重定向仍然查看 (你可以在源見下面我已經添加autoRender放慢參數錯誤)
我真的不知道是怎麼回事了,我將是任何形式的幫助感激!
這裏的源代碼:
我的Ajax請求
$('.addUser').on('click', function(){
var data = $('#UserAddForm').serialize();
$.ajax({
dataType: "html",
type: "POST",
evalScripts: true,
url: 'Users/add',
data: data,
success: function(){
$('#regInfo').html("User was created");
$('#regInfo').css('color', 'darkgreen');
},
error: function(){
$('#regInfo').html("User was not created");
$('#regInfo').css('color', 'darkgreen');
}
});
})
我UserController的CakePHP中
public function add() {
if ($this->request->is('post')) {
$this->User->create();
if ($this->User->save($this->request->data)) {
$this->Session->setFlash(__('The user has been saved'));
} else {
$this->Session->setFlash(__('The user could not be saved. Please, try again.'));
}
}
}
在我AppController的
public function beforeFilter(){
if ($this->request->is('ajax')) {
Configure::write('debug', 0);
$this->autoRender = false;
$this->layout = 'ajax';
}
}
你有沒有試過在你的控制器中對ajax進行髒測試?我通常做的就是'if($ this-> data ['mobile']){echo「foo bar」;退出0;}' –
不幸的是它並沒有訣竅:( – elharion
)你是否在你的ajax文章中添加了'mobile'參數,並且有一些有效的數據可以傳遞'if'?嘗試將'beforeFilter'中的邏輯去掉讓控制器處理所有內容 –