Вернуть результат из формы, отправленной в iframe в cakephp - PullRequest
0 голосов
/ 01 июля 2010

Как вернуть результаты отправки формы в iframe в cakephp?

Другой вопрос, как вернуть некоторое сообщение в iframe для каждой итерации цикла действия контроллера.Допустим, он повторяется 10 раз, поэтому после каждой итерации он немедленно покажет сообщение в виде «итерация 1 завершена» и т. д. ... в iframe ....

1 Ответ

0 голосов
/ 02 июля 2010

Я думаю, вам нужно взглянуть на 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
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...