To nie jest tak proste, jak po prostu przerwać przesyłanie. Po kliknięciu tego przycisku nie ma praktycznego sposobu sprawdzenia, ile jeszcze danych zostało wysłanych.
Przeglądarka internetowa i serwer WWW nie utrzymują połączenia pomiędzy żądaniami, dlatego zatrzymanie strony klienta skryptu nie oznacza, że zatrzymuje się po stronie serwera.
Aby przerwać przesyłanie, musisz wysłać drugie żądanie do serwera, mówiąc, że na serwerze może być już zapisane, więc konieczne będzie usunięcie, a jeśli tak, będziesz potrzebować unikalnego identyfikatora zarówno w celu zidentyfikowania przesłania, jak i żądania przerwania, ponieważ po stronie serwera pojawią się 2 unikalne żądania.
Na serwerze można ustawić ustawienie reguł, ile i ile danych jest wymaganych do rzeczywistego zapisania go w bazie danych, ale co zrobić, jeśli jeden użytkownik ma tylko 1 zdjęcie, a drugi 3, jak się dowiedzieć, kiedy ma być "przerwanym poddaniem", czy nie, na podstawie takich zasad?
Opóźnienie przed zapisaniem może być czymś innym, gdy abort może być zaakceptowany, ale znowu bardzo trudne do zabezpieczenia przed awariami i będzie potrzebować identyfikatora unikalnego identyfikatora w celu zidentyfikowania żądań.
Domyślam się, że najlepiej jest go zapisać, ponieważ chciałbym wierzyć, że większość użytkowników tego chce, a jeśli drugie żądanie przychodzi w określonym przedziale czasu, to pozwala je usunąć.
Zaakceptuj i używaj Patrick Roberts answer jako dobry pomysł.
Przy tych 2 podobnych wpisach możesz znaleźć dodatkową pomoc.
użycie 'event.preventDefult(); poprosił' Tak wiele czasu. –
@Parth Trivedi ... Wątpię, czy event.preventDefault zadziała w tym przypadku. Po kliknięciu przycisku "Wyślij" formularz zostanie opublikowany, w jaki sposób zapobiegnie zatrzymaniu go w połowie? –
Możesz mieć obsługę typu "kliknij" i, w zależności od warunku, możesz 'return false' i to powinno się zatrzymać. – Rajesh