Mam pytanie dotyczące najlepszych praktyk podczas korzystania z jQuery/JavaScript/Ajax. Powiedzmy, że mam pewne zadania i istnieje kalendarz dla każdego zadania. Użytkownik może kliknąć dzień w kalendarzu zadań i zarezerwować zadanie w danym dniu za pośrednictwem AJAX. Muszę zapisać datę i identyfikator zadania gdzieś i używam naprawdę dziwaczne identyfikatory dla że takie jak:Najlepsza praktyka z połączeniami jQuery i AJAX
<span class="day_field" id="date_13-02-2013_task_4">13.02.2013</span>
potem po prostu dołączyć słuchacza tak:
$('.day_field').on('click',function(){
var date = $(this).id.split('_')[1];
var task_id = $(this).id.split('_')[3];
//place for some validation
$.post('book_task.php',{task_id: task_id, date: date},function(data){
//something cool with the result
});
});
Moje pytanie jest: Czy to jest właściwa droga, jak to zrobić? Nie jestem całkiem pewny, ponieważ identyfikatory mogą być naprawdę długie + zawierają identyfikator w bazie danych, który prawdopodobnie nie jest wcale zapisany.
Dzięki! T.
+1 Pamiętaj, że nawet jeśli jest oznaczona jako funkcja html5, będzie działać ze starymi przeglądarkami. – Mahn
Wydaje się to idealne. Muszę to najpierw wypróbować w firmie, w której pracuję, ponieważ niektórzy użytkownicy używają tylko IE8 i muszę się upewnić, że działa poprawnie. Proszę, powiedz mi: czy to w porządku, że identyfikator zadania jest tam widoczny i każdy może go zobaczyć w kodzie?Jestem pewien, że każdy haker będzie wiedział, co oznacza ta liczba. Pytanie brzmi, czy może go użyć, by zrobić coś złego, czy nie. Dzięki! – user1377911
Starsze przeglądarki traktują je jako niestandardowe atrybuty, które po prostu ignorują. Wszystko, co zrobił HTML5, to rezerwowanie nazw zaczynających się od 'data-'na aplikacje, dzięki czemu możesz mieć pewność, że nigdy nie będą one w konflikcie ze standardowymi atrybutami. Nie jestem pewien, czym jest obawa hakerów - atrybut daty odpowiada dacie kalendarza, nie ma w tym nic tajemniczego. – Barmar