将表单提交的结果返回到cakephp中的iframe中

将表单提交的结果返回到cakephp中的iframe中,cakephp,iframe,Cakephp,Iframe,如何在cakephp中将表单提交的结果返回到iframe 另一个问题是,如何为控制器动作循环中的每次迭代向iframe返回一些消息。假设它迭代10次,所以在每次迭代之后,它会立即显示“迭代1已完成”之类的消息。。。在iframe…中,我认为您需要研究一种AJAX方法。您可以使用Javascript将数据插入iframe,但是视图和控制器之间的迭代交互最好通过AJAX连接完成 这是我采取的又快又脏的方法。 在控制器操作结束时: App::import('Helper', 'Javascri

如何在cakephp中将表单提交的结果返回到iframe


另一个问题是,如何为控制器动作循环中的每次迭代向iframe返回一些消息。假设它迭代10次,所以在每次迭代之后,它会立即显示“迭代1已完成”之类的消息。。。在iframe…

中,我认为您需要研究一种AJAX方法。您可以使用Javascript将数据插入iframe,但是视图和控制器之间的迭代交互最好通过AJAX连接完成

这是我采取的又快又脏的方法。 在控制器操作结束时:

    App::import('Helper', 'Javascript');
    $javascript = new JavascriptHelper();

    echo($javascript->object($returnVals)); // allows passing of array
    exit(1);
在视图中,您需要捕获返回值并使用JSON.parse进行解析:

<snip-->
        if(xmlHttp)
        {
            xmlHttp.open("POST",actionURL,true);
            xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
            xmlHttp.onreadystatechange = function()
            {
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
        {
            doAction(xmlHttp.responseText,zone);
        }
<--snip>
    function doAction(props,zone)
    {
        var newProps = JSON.parse(props);//needs to be parsed into a JS object.
        //other stuff here
    }

if(xmlHttp)
{
open(“POST”,actionURL,true);
setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xmlHttp.onreadystatechange=函数()
{
if(xmlHttp.readyState==4&&xmlHttp.status==200)
{
doAction(xmlHttp.responseText,zone);
}
功能动作(道具、区域)
{
var newProps=JSON.parse(props);//需要解析为JS对象。
//这里还有其他东西
}

谢谢leo……我知道我需要使用ajax……但我只想知道,如何做到这一点,比如说我提交了一个表单,它运行了一个控制器操作,那么现在,我如何从这个控制器操作向iframe发送$result,以及如何将这个$result提取到iframe……而不知道您到底想做什么的细节,这很难说。我想如果你必须使用iframe,那么你需要维护它的句柄,并使用javascript将适当的信息插入其中。不过,我忍不住想,你在给自己制造麻烦。