Javascript Prześlij żądanie posta

| | | |

Kiedy tworzymy aplikację internetową, nieuniknione jest, że będziemy musieli coś stworzyć z danych wprowadzonych przez użytkownika. Może to być utworzenie nowego konta użytkownika, gdy ktoś prześle swoje informacje za pośrednictwem formularza rejestracyjnego lub utworzenie nowego przepisu dla Twojej niesamowitej nowej aplikacji do organizowania przepisów. Przekazanie danych użytkownika w jakimś formularzu do nowej instancji receptury zapisanej w bazie danych wymaga żądania HTTP POST.

Żądanie POST wysyła dane z formularza do serwera, gdzie można utworzyć w zapleczu lub interfejsie API i zapisać w bazie danych. Domyślnie przesłanie formularza wymaga przekierowania lub odświeżenia strony. Chociaż jest to świetne dla małych aplikacji, chcemy zapewnić szybsze ładowanie, więc ominięcie tego zachowania

Użycie post() jQuery pozwala nam na wykonanie żądania HTTP, otrzymanie odpowiedzi i wybierz sposób wyświetlania danych bez przekierowań lub aktualizacji! Przyjrzyjmy się bliżej, co post () powinien zrobić to wszystko.

Przyjrzyjmy się bliżej wpisowi ()

Żądania HTTP są jak gra. Przeglądarka wysyła żądanie do serwera za pośrednictwem punktu końcowego API, a serwer zwraca odpowiedź. Jaka wiadomość () faktycznie wysyła dane do punktu końcowego, zostanie utworzona i zapisana w podstawowych danych aplikacji.

Biorąc powyższe pod uwagę, możemy założyć post() akceptuje argumenty, prawda? Prawo! post() przyjmuje do czterech argumentów, ale dla naszych celów skupiamy się na dwóch głównych: docelowym adresie URL i danych, które wysyłamy do tego miejsca docelowego.

$. post (`/ Recipes`, data )

Weźmy przykład naszej aplikacji do organizacji przepisów, zaczniemy od naszego selektora jQuery $. Wywołując post(), wysyłamy nasze dane na adres URL `/ Recipes. Jak na razie dobrze. Wysłaliśmy dane na nasz serwer. Teraz przygotowujemy się do otrzymania odpowiedzi!

To, co otrzymujemy jako odpowiedź, to coś, co nazywa się jQuery XHR lub jqXHR, które implementuje interfejs Promise Nie martw się! Ostatnie zdanie może brzmieć przerażająco, mówi nam, że odpowiedź jest tylko obiektem. Dzięki wygodnemu jQuery done (), ten obiekt może być zorganizowany w bardziej czytelny format

Aby kontynuować naszą grę przez analogię, wysyłamy dane na serwer za pomocą post () < /kod>. Zwróciliśmy jqXHR, które przekazujemy do done (), abyśmy mogli zobaczyć, co przechwyciliśmy. Teraz, gdy przyjrzeliśmy się bliżej post (), zobaczmy, jak z niego korzystać.

jQuery post ()

Na początek mamy prosty formularz HTML:

który wyświetla moduł jako taki:

Zrzut ekranu 2020 11 11 o 9.42. 31 PM 1

Z tej funkcji zwrotnej możemy zatrzymać domyślne przekierowanie za pomocą preventDefault() . Teraz już nas nie ma i zostaniemy przekierowani, możemy zacząć wysyłać dane na serwer.

Zanim wywołamy post () post danych, potrzebujemy danych! Skąd możemy uzyskać te dane?

Pozyskujemy dane z formularza. Ponieważ nie będziemy już przekierowywani, mamy dostęp do wartości „w polach tekstowych formularza”. Co się dzieje z tym serialize ()?

Metoda serialize () jest wywoływana w formie, którą wybraliśmy za pomocą słowa kluczowego this< /em>. Co to jest serialize() To konwertuje dane formularza na standardowy ciąg tekstowy kodu URL, który można wysłać na serwer.

Po pomyślnym zserializowaniu danych formularza, przechowuj w zmiennej:

Teraz mamy nasze dane przechowywane w wartościach ‚zmienna, teraz możemy je wysłać na serwer

Pamiętasz, że post() zwraca jqXHR? Możemy również zapisać jako zmienną i wywołać na niej done(), aby zdekompresować odpowiedź i obsłużyć tak, jak wybierzemy po stronie klienta.

Po otrzymaniu danych i przechowywaniu w zmienna bardziej czytelna niż recipe, możemy uzyskać dostęp do nazwy i atrybutów składnika. Jako przykład umieściliśmy te atrybuty w

powszechne użycie post() jest w .submit() jako funkcji zwrotnej. Ponieważ .submit() jest wywoływane w samym formularzu, możemy użyć słowa kluczowego JavaScript this do odniesienia się do wszystkich danych w formularzu i serialize() . dane serializowane do zmiennej, często nazywanej wartościami, możemy wysłać te wartości do naszego docelowego adresu URL za pomocą post().

Dobrą praktyką jest przechowywanie jqXHR obiekt zwracany przez post() w zmiennej powszechnie znanej jako display. stamtąd używamy Made scope of main() na naszej zmiennej wyświetlania i teraz mamy dostęp do danych serwera. teraz od Ciebie zależy, jak wyświetlić dane Twojemu użytkownikowi.

Podnieś chwilę, kłamię, aby pogratulować Ci przejścia przez skomplikowany proces post ()! Jeśli jesteś na tym etapie tworzenia aplikacji, pamiętaj, że zdarzają się błędy. Zachowaj spokój i debuguj!



Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method