gpt4 book ai didi

jquery - CakePHP 提交 ajax 添加操作后取消重定向到 View

转载 作者:行者123 更新时间:2023-12-01 06:41:21 24 4
gpt4 key购买 nike

我正在尝试通过 AJAX 提交表单并防止表单提交后重定向。我不明白为什么会遇到这个问题,因为我将 autoRender 设置为 false。

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 之前执行的,因为警报实际上从未响起。因此,有一个直接来自 Controller 操作“add”的明确重定向。

最佳答案

尝试在表单之外添加一个指向提交 js 的链接,以测试提交是否能按这种方式工作。如果是这样,那么您可能需要将按钮从 type="submit"更改为 type="button"。可能是“提交”按钮实际上正在提交表单。

另一种方法是验证 <form>标签是通过js提交的,而不是发布到 Controller 中的add函数。

此外,通过清除 tmp/cache/persistan 中的缓存文件来检查以确保没有缓存任何内容(以防万一 - 我已经看到它发生)。 t。

关于jquery - CakePHP 提交 ajax 添加操作后取消重定向到 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3493192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com