Nette Ajax a Datatable – No route for HTTP request

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

ahoj,

přicházím k vám se začátečnickým dotazem :-) Poprvé se dostávám k ajaxu. Ptřebuji použít Datatable (http://www.datatables.net) a plnit jej pomocí ajaxu. Našel jsem návod Webová aplikace v Nette pro začátečníky – DataTables – díl 4. ale nějak se mi nedaří to rozchodit. Dadatable hlásí ajax error. Laďěnka hlásí:

exception ‚Nette\Application\BadRequestException‘ with message ‚No route for HTTP request.‘ in /home/iwebdeve/domains/apps.iwebdevelopment.nl/public_html/facturen/vendor/nette/application/src/Application/Application.php:117
Stack trace:
#0 /home/iwebdeve/domains/apps.iwebdevelopment.nl/public_html/facturen/vendor/nette/application/src/Application/Application.php(88): Nette\Application\Application->createInitialRequest()
#1 /home/iwebdeve/domains/apps.iwebdevelopment.nl/public_html/facturen/www/index.php(8): Nette\Application\Application->run()
#2 {main}
(stored in /home/iwebdeve/domains/apps.iwebdevelopment.nl/public_html/facturen/app/../log/exception-2015–07–15–07–45–09–6a4664974a1f4ed63b90fd7c108b26a7.html)

Datatable je volána z modulu Adm a prezenteru Default – tedy :Adm:Default:
V tomto prezenteru mám metodu

<?php

public function handleInvoiceJson()
...

?>

Javacript:

<script>
$('#invoice').dataTable( {
    "lengthMenu": [[3, 6, 9, -1], [2, 4, 10, "All"]],
    "paging":   true,
    "ordering": true,
    "info":     true,
    "sAjaxSource": '{link invoiceJson!}',
    "aoColumns": [
        {"mData": "number"},
        {"mData": "invoicedate"},
        {"mData": "duedate"},
        {"mData": "description"},
        {"mData": "amount"},
        {"mData": "paymentstatus"}
    ]
} );
</script>

Stránka s chybou: http://apps.iwebdevelopment.nl/…adm.default/

Kde mám chybu? V tom volání toho signálu? Díky moc za pomoc.

akadlec
Člen | 1326
+
0
-

Pro datatables je k dispozici extension pravda je to sice dev verze a bez dokumentace ale třeba by ti pomohla.

Dismember
Člen | 50
+
0
-

Díky za tip. Jen netuším, jak to použít. Mohl bych poprosit o základní náčrt použití?

Díky

akadlec
Člen | 1326
+
0
-

Koukni na tento gist třeba ti to trochu pomůže.

Zprovoznění je jednoduché, připojíš extension do nette a pak ji používáš jako komponentu.

Dismember
Člen | 50
+
0
-

Nějakou dobu jsem to ted nechal být…Tak jsem se k tomu vrátil dnes.

Pokusil jsem se připojit tvou extention pomocí composeru a když ji aktivuju v configu, tak mi debugger kříčí

Class ‚Nette\Loaders\NetteLoader‘ not found search

A má vlastně pravdu, protože tuto třídu opravdu nemohu nikde najít. Jak je to možné, že ji tam nemám? Jak ji tam dostanu?

Mám nette 2.3.

Díky moc za pomoc