2010-07-01 2 views
0

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

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

ответ

-1

Я думаю, вам нужно посмотреть на 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 
    } 
+0

Спасибо Лев ...... Я знаю Мне нужно будет использовать ajax ......., но я просто хочу знать, как это сделать, допустим, что я отправляю форму, и она запускает действие контроллера, так что теперь, как wud я отправляю результат $ result iframe из этого действия контроллера и как получить этот $ result в iframe ... – texpert

+0

Не зная подробностей о том, что именно вы пытаетесь сделать, трудно сказать. Я думаю, если вы ДОЛЖНЫ использовать iframe, тогда вам нужно поддерживать дескриптор и вставлять соответствующую информацию в него с помощью javascript. Я не могу не думать о том, что вы делаете вещи трудными для себя. – Leo

+0

Я отредактировал свой ответ, чтобы включить некоторые фрагменты кода. – Leo

Смежные вопросы