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
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
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)