AJAX + include/latte + snippet

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

Ahoj,
mám problém s funkčností AJAX v Nette.

@layout.latte mám následovně:

<!DOCTYPE html>
<html>
    <head>
        <title>{block title}Hlavní stránka{/block} | {=Company::FRONTEND_TITLE}</title>

        <meta http-equiv="content-type" content="text/html; charset=utf-8" />

        {* jQuery *}
        <script src="{$basePath}/js/jquery-1.11.1.js"></script>

        {* jQuery UI *}
        <link rel="stylesheet" media="screen,projection,tv" href="{$basePath}/jquery-ui-1.11.2/jquery-ui.min.css">
        <link rel="stylesheet" media="screen,projection,tv" href="{$basePath}/jquery-ui-1.11.2/jquery-ui.structure.min.css">
        <link rel="stylesheet" media="screen,projection,tv" href="{$basePath}/jquery-ui-1.11.2/jquery-ui.theme.min.css">
        <script src="{$basePath}/jquery-ui-1.11.2/jquery-ui.min.js"></script>

        {* js *}
        <script src="{$basePath}/js/netteForms.js"></script>
        <script src="{$basePath}/js/jquery.nette.js"></script>

        <script src="{$basePath}/ajax/tutorial.js"></script>
    </head>
    <body>
        <div class="wrapper">
            <div class="header">
                ...
            </div>
            {block main}
                <div class="main">
                    <div class="content">
                        {include 'flashMsg.latte'}
                        {block content}
                        {include 'Homepage/main.latte'}
                        {/block}
                    </div>
                </div>
            {/block}
    </body>
</html>

Následně content „přepíšu“ v jiném latte:

{block main}
    <div class="process-cart">
        {snippet ajax_test}
            <a id="test" n:href="test!">TEST</a>{$done}
        {/snippet}
        {snippetArea ajax_sellBillCart}
        {include 'objects/sellBillCart.latte'}
        {/snippetArea}
    </div>
{/block}

Ajax mám (myslím dle tutoriálu – Igor Hlina):

<script>
$(function() {
    var xhr = null;
    $("#test").on("click", function () {
        console.log(this.href);
        xhr = $.get(this.href);

        return false;
    });
});
</script>
  • Na tohle se mi vrací status code 500
  • Když to mám jako {block}, tak to není třeba zabalit do snippetArea, že? Týká se to jenom {include …}?

Pokud něco chybí, tak to dodám.

Předem díky.

David Matějka
Moderator | 6445
+
0
-

Chybí chyba :)

Koukni se do logu…

mfajfr
Člen | 26
+
0
-

Chyba:

Fatal error: Possible problem: you are sending a HTTP header while already having some data in output buffer. Try OutputDebugger or start session earlier.

David Matějka
Moderator | 6445
+
0
-

kde dojde k vyvolani chyby? nevypisujes tam neco? nemas nekde BOM? Zkus kdyztak pouzit OutputDebugger, treba pomuze :)

mfajfr
Člen | 26
+
0
-

Zázračným způsobem to začalo fungovat vč. toho handleru (už nevypisuje 500).
Ta chyba byla asi pravděpodobně tím výpisem – dump, který jsem tam měl.

Každopádně díky.