Javascript sor törlés nem működik ( .parent().remove() )
Sziasztok!
Elkezdtem egy példa alapján csinálni saját MVC-t, és egyben tanulni az objektum orientált programozást. Az egyik javascriptnél elakadtam.
A linkje: http://jream.com/lab
Ahol elakadtam az a 4-dik résznél a javascript törlés.A delItem.parent().remove(); parancs ami törölné az adott sort, nem akar működni. Nekem 2.2.3 jquery-m van.
■ Elkezdtem egy példa alapján csinálni saját MVC-t, és egyben tanulni az objektum orientált programozást. Az egyik javascriptnél elakadtam.
A linkje: http://jream.com/lab
Ahol elakadtam az a 4-dik résznél a javascript törlés.
$( '.del' ).on( 'click', function() {
delItem = $( this );
var id = $( this ).attr( 'rel' );
var data = {'id': id};
$.post( 'dashboard/xhrDeleteListing', data, function( o ) {
delItem.parent().remove();
}, 'json');
return false;
});
}, 'json' );
.fail
https://api.jquery.com/jquery.post/
Vagy - szerintem jobb - a "hagyományos" jQuery.ajax() kezel error eseményt. Ide akkor futsz, ha szerver oldalról nem, vagy rossz válasz jön. (Pl esetedben ha van vmi PHP error, ez "kiíródik képernyőre", akkor máris nem json a válasz.)
A 6-7. sor közé szúrj be egy ilyet:
+ Ha van visszaadott adat (o), akkor azt is illik ellenőrizni.
Ezeken kívül böngészőben nézd meg a forgalmat, ez a kérés milyen státuszt, stb. kapott, mi jött vissza.
igen... a visszaadott érték
A chromeban megnéztem a visszakapott php kérést, az xhrDeleteListing 200-as státusszal tért vissza, vagyis ott nincs gond...
Megnéztem az .fail()-nál a
JSON.stringify( data ): {"ID":"1"}
JSON.stringify( delItem ): {"0":{"jQuery223066169610433678681":{"events":{"click":[{"type":"click","origType":"click","guid":2,"namespace":""}]}}},"context":{"jQuery223066169610433678681":{"events":{"click":[{"type":"click","origType":"click","guid":2,"namespace":""}]}}},"length":1}
JSON.stringify( delItem ): [{"0":"1","1":"vv","ID":"1","text":"vv"},{"0":"2","1":"dsadasd","ID":"2","text":"dsadasd"},{"0":"3","1":"dsadasd","ID":"3","text":"dsadasd"},{"0":"4","1":"fsdfsdf","ID":"4","text":"fsdfsdf"},{"0":"5","1":"proba","ID":"5","text":"proba"},{"0":"6","1":"pr","ID":"6","text":"pr"}]
hiba kezelés
Sikerült megoldani... Átírtam
Átírtam erre a kódot:
dataType
PHP oldalról ilyesmit kell:
A lényeg a json_encode.
Ha vmi hiba van PHP oldalon, és be van kapcsolva display errors, akkor megint nem json lesz, mert ki megy egy html. Ez gyakori hiba.
Küldj ki vmi adatot, pl $data['status'] = 1, ezt külön tudod ellenőrizni JS success ágon: data.status == 1.
Ekkor azt is tudod, hogy json jött, és ok minden. Ha pl status == 0, ezzel a szerverről tudsz üzenni, hogy program hiba nincs, de vmi miatt sikertelen a feldolgozás. + lehet mellé hiba üzenet, stb, amit csak fantáziád alkot.
igen a php-re én is
Ha JSON-t írsz ki, ne
Biztos?
Ha esetleg lenne erről egy linked, olvasnám. (Azzal együtt, hogy hála Istennek nincs frontend feladatom mostanában.)
Lehet rosszul emlékszem,
A megfelelő header ártani tuti nem árt mondjuk :).
Nem érted
Nem tetted be a success ágba az adat kiírását sem.
Így nehéz lesz biztosan a végére járni. Legalább is én mindig tudni akarom, hogy pontosan mi volt rossz.