Nette ajax abort/canceled error

Čamo
Člen | 786
+
0
-

Prosím vás netuší niekto prečo mi jednoduchý nette.ajax GET request vracia abotr error?
Pritom na server ten request príde a všetko sa vykoná tak ako má ale v javascripte sa dostanem do error callbacku.

Takto vyzerá js

        // REMOVE INVOICE FROM DB
        function deleteInvoice(invoice_id)
        {
            var invoicesDeleteUrl = {link Invoices:delete} + invoice_id;

            console.log(invoicesDeleteUrl);

            loadingSpinner('show');

            $.nette.ajax({
                'url': invoicesDeleteUrl,
                //'type': 'GET',
                //timeout: 5000,
                success(data) {
                    showAlertMessage('Faktúra bola zmazaná.', invoiceListAlerts, 'success');
                },
                error: function (data, data2, data3) {
                    console.log(data);
                    console.log(data2);
                    console.log(data3);
                    showAlertMessage('Nepodarilo sa zmazať faktúru.', invoiceListAlerts, 'danger');
                },
                complete() {
                    loadingSpinner(null);
                }
            });
        }

a takto vyzerá php

    public function actionDelete($id)
    {
        $this->invoices->deleteInvoice($id);  // Všetko OK

        return $this->sendJson(['status' => 'success']);  // Toto je rovnaké ako u iných metod ktoré bez problémov fungujú.
    }

Tu je screenshot s console logom https://drive.google.com/…ucX0U3Y/view?…

Editoval Čamo (5. 1. 11:25)

Pepino
Člen | 249
+
+2
-
public function actionDelete($id)
{
	$this->invoices->deleteInvoice($id);
	$this->sendJson(['status' => 'success']);
}
Infanticide0
Člen | 64
+
+1
-

Na funkčnost to asi vliv mít nebude, ale neni pro tyhle případy lepší spíš signál presenteru než action metoda?

Action bez redirectu/response jde renderovat šablonu, která v tomhle případě neexistuje.
Signál by mohl mít i rychlejší zpracování, když ví, že nic renderovat nebude.

Zajímalo by mě to.

Editoval Infanticide0 (5. 1. 16:21)

kini
Člen | 11
+
0
-

Podle toho screenshotu předpokládám že chceš aby se ti po odstranění té faktury automaticky překreslil jejich seznam. Pokut ano stačí ti v handleru zavolat redrawControl a překreslit snippet v šabloně.

public function handleDelete(int $id): void
    {

	$this->invoiceManager->deleteInvoice($id);
	$this->redrawControl('invoicesContainer');

    }
{snippet invoicesContainer}
	// Tvůj seznam faktur.
 	<a class="ajax" n:href="delete! $invoice->id">Delete</a>
{/snippet}
Čamo
Člen | 786
+
0
-

Prepáčte že som nereagoval. Ďakujem za odpovede.
Problém bol pravdepodobne v tom že skutočne existuje v projekte niečo ako abort request a v prípade že idú dva ajax requesty za sebou tak sa ten prvý zruší. A to som práve robil, že som spúšťaľ dve po sebe idúce requesty.
Keď som ten druhý presunul do success callbacku toho prvého requestu tak už to funguje.