Я пытаюсь отправить форму через AJAX и предотвратить перенаправление после отправки формы. Я не понимаю, почему у меня возникает эта проблема, поскольку я устанавливаю autoRender в false.CakePHP отменить перенаправление на просмотр после отправки ajax добавить действие
Controller Код
function add() {
$this->autoRender = false;
if (!empty($this->data)) {
$this->data['Comment']['user_id'] = $this->Auth->user('id');
$this->Comment->create();
if ($this->Comment->save($this->data)) {
}
}
}
обработчик события JS
$(".submit_comment").live("submit",commentSubmitHandler);
function commentSubmitHandler(event){
$.ajax({
type: "post",
url: $("#webroot").val() + "comments/add",
data: data,
dataType: "json",
success: function(data){
alert("win");
},
error: function(data){
alert("fail");
}
});
return false;
}
Данные формы передаются и сохраняются только хорошо, но почему, черт возьми, это оставляя страница? Также, похоже, это делается до завершения js, потому что предупреждения никогда не исчезают. Поэтому существует определенная переадресация прямо из действия контроллера «добавить».
При использовании других кэширования двигателей, clear_cache плагин стоит установить. Он предоставляет вам оболочку (называемую cake clear_cache) и очищает папку tmp, а также другие материалы tmp. С уважением, – benjamin
Спасибо, CD, ваше предложение с изменением отправки на кнопку работало. Подача фактически отправила форму. Небрежная ошибка с моей стороны. – wcolbert
Добро пожаловать. Рад помочь. –