Cakephp在ajax调用后显示视图

时间:2014-08-14 17:56:45

标签: jquery ajax cakephp

在页面上,我有一个带有一些按钮的表单。其中每个都将调用特定的控制器方法并显示相关视图。另外,我有一个按钮“X”,单击该按钮将从表单数据输入中提取特定信息。然后,我想在服务器上处理这些数据。这意味着我必须使用Ajax。但是,在Ajax调用成功后,我想显示一个新的视图文件,同时将一些数据(一个数组)发送到该视图。

我不能在ajax调用的'success'函数中使用'window.location'来重定向到URL,因为我不能再使用返回的数据了。

我如何完成任务?

UPDATE1

我将展示代码片段以解释更多内容:

projects\running.ctp

1)我有一个带有复选框的表单(id包含我将从复选的复选框中收集的唯一项目ID)

2)单击按钮时,我需要发送这些ID以便在服务器上进行处理:

$.ajax({
        type: 'POST',
        dataType: 'JSON',
        url: '/projects/groupCuttingList',
        data: {'pj_ids': requiredPjIds},
        /*success: function (data, textStatus, qXHR) {
            //window.location='';
        }*/
    });

服务器处理完成后,我想在新的视图文件上显示返回的数据。怎么做? (如果我使用window.location重定向,我将无法发送返回的数据,这是一个JSON阵列数组。)

1 个答案:

答案 0 :(得分:1)

你可以做的是让你的ajax函数返回呈现的HTML,然后在success函数中用刚刚返回的内容替换内容包装器的内容。

您可以使用空布局来确保除了返回呈现的HTML之外没有任何其他内容,除此之外它应该非常简单。