Jak ziskat html pomoci AJAXu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
vosy
Člen | 532
+
0
-

ahoj pomoci js tlacika a AJAXu bych chtel nacist sablonu s formularem ale nejak se mi to nedari, vysledek je 500 (Internal Server Error)

default.js

$(function()
{
    $('input[name="pokracovat"]').bind('click', function()
    {
        var odpoved = soutez.getValue.step1();

        if(odpoved === undefined)
        {
            myDialog.chybaMess(['Zvolte Vaší odpověď.']);
        }else
        {
            var fData = {};
            var url = '/';

            $.post(url, fData, function(data)
            {
                myDialog.htmlDialog({title:'Kontaktní údaje',
                    html:data});
            });
        }
    });
});

v presenteru mam

 function renderDefault()
    {
        if ($this->isAjax())
        {
            $this->template->setFile(dirname(__FILE__).'/components/Homepage/soutez/step2/default.latte');
            // $this->template->_form = $this['basicPageForm'];
            $this->template->render();
        }

.....
}

po kliknuti na tlacitko se zobrazi chyba
XMLHttpRequest.send ChromeStdInjector.js?v=prod&addonType=fvd:895
x.support.cors.e.crossDomain.send min.js:5
x.extend.ajax min.js:5
x.(anonymous function) min.js:5
(anonymous function) default.js:15
x.event.dispatch min.js:4
y.handle

ale kdyz misto template tam dam treba jen:

function renderDefault()
    {
        if ($this->isAjax())
        {
            echo 'ahoj';

        }

tak se provede vse spravne.

honos
Člen | 109
+
0
-

Zkus pouzit

if ($this->isAjax())
{
    $this->template-setFile(dirname(__FILE__).'/components/Homepage/soutez/step2/default.latte');
    return (string)$this->template;
}

EDIT: podivej se jakymi zpusoby muzes odesilat data, Tech responseru je vice, pokud chces odesilat HTML pouzij TextResponse.

Editoval honos (13. 1. 2014 20:28)