Ajax funguje na localhostu, na ostrém serveru ne
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Томас
- Člen | 85
Buďte zdrávy, mám takový problém… zkoušel jsem si ajax na localhostu. Vše funguje jak má, je to super. Nahodil jsem to samé na server a nefunguje to… absolutně nevím proč. Dokonce jsem to zjednodušil do úplně primitivního ajaxového scriptu a stále nic (na localu stale funční). Můžete mi někdo poradit? Předem díky!
použil jsem → https://componette.org/search/?…
app/templates/@layout
<script src="{$basePath}/js/jquery.js"></script>
<script src="{$basePath}/js/jquery.nette.js"></script>
{block head}{/block}
// ano do jquery.nette.js jsem dal obsah souboru nette.ajax.js
// linky odkazují přesně kam mají
app/templates/product/show.latte
// až po nalinkování jquery a nette.ajax.js
{block head}
<script>
$(function () {
$.nette.init();
});
</script>
{/block}
{block content}
<a class="ajax" n:href="addscore!">++</a>
{snippet mySnippet}
{$score}
{/snippet}
{/block}
a nakonec app/presenters/ProductPresenter.php
private $score = 1;
public function handleAddscore()
{
$this->score = 4;
if($this->isAjax())
{
// zkoušel jsem i $this->invalidateControl(/*mySnippet*/);
$this->redrawControl(/*mySnippet*/);
}
}
public function renderShow($productId)
{
$this->template->score = $this->score;
}
Abych to ještě upřesnil… vše funguje jak má akorát to není „zajaxováno“… vykoná se normální request.
- David Matějka
- Moderator | 6445
zkus kouknout do vyvojarsky konzole – F12, zalozka Console (aspon v chrome, ve ff to asi bude podobny), jestli to tam nezobrazuje nejakou chybu..