ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ajax Π² laravel
ΠΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΎΡΠΌΡ Π² Laravel ΡΠ΅ΡΠ΅Π· AJAX jQuery
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎΡΠΌΡ Π² Laravel, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ AJAX jQuery Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ Π΄Π°Π½Π½ΡΡ . Π Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΡΠΌΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΠΎΡ AJAX jQuery ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΡΠ°Π·Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ POST.
Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΠΠ Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ. Π Laravel ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π΄Π°Π½Π½ΡΡ , β ΡΡΠΎΠ±Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡ AJAX.
Π¨Π°Π³ 1: Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΌΠ°ΡΡΡΡΡΡ
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄Π²Π° ΠΌΠ°ΡΡΡΡΡΠ° Π² ΡΠ°ΠΉΠ» routes/web.php :
Π¨Π°Π³ 2: ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ ΡΠ°ΠΉΠ» ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ ΡΠ°ΠΉΠ»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ:
ΠΠΎΠ΄Π΅Π»Ρ ΡΠΎΡΠΌΡ Β« ΠΠΎΠ½ΡΠ°ΠΊΡΡ Β» Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ app ( app/Contact.php ), Π° ΡΠ°ΠΉΠ» ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ database/migrations/2019_09_02_161223_create_contacts_table.php.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΡΠ°ΠΉΠ» ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄:
Π¨Π°Π³ 3: ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ
ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°. Π ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΌΡ Π²ΡΡΠ°Π²ΠΈΠΌ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π° β ΠΎΠ΄ΠΈΠ½ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΡ Β« ΠΠΎΠ½ΡΠ°ΠΊΡΡ Β», Π° Π²ΡΠΎΡΠΎΠΉ β Π·Π° ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ Π² Π½Π΅Π΅ Π΄Π°Π½Π½ΡΡ Π² ΠΠ.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π¨Π°Π³ 4: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Blade ΡΠ°Π±Π»ΠΎΠ½Π° Π΄Π»Ρ ΡΠΎΡΠΌΡ Π·Π°ΠΏΡΠΎΡΠ°
ΠΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ ΠΊ Π·Π°ΠΏΡΡΠΊΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ β ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠΎΡΠΌΡ ΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΠΉ.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΡΡΠ°Π²Π»ΡΠΉΡΠ΅ ΡΠ²ΠΎΠΈ ΠΎΡΠ·ΡΠ²Ρ ΠΏΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΠΌΠ΅ ΡΡΠ°ΡΡΠΈ. ΠΡ ΠΊΡΠ°ΠΉΠ½Π΅ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½Ρ Π²Π°ΠΌ Π·Π° Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ, ΠΎΡΠΊΠ»ΠΈΠΊΠΈ, Π΄ΠΈΠ·Π»Π°ΠΉΠΊΠΈ, Π»Π°ΠΉΠΊΠΈ!
ΠΡΠ΅ ΠΎ WEB ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ
WEB ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ Π Π΄ΠΎ Π―
ΠΠ°ΠΊΠ°Π·Π°ΡΡ ΡΠ°ΠΉΡ:
Π‘ΠΎΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠΈ:
ΠΠ°ΡΡΠ½Π΅ΡΡ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ AJAX Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² Laravel
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ. ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΠΌΡΡ Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ ajax Π·Π°ΠΏΡΠΎΡΠΎΠ². Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ajax Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² Laravel.
Π ΡΠ°ΠΊ ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ. Π£ ΠΌΠ΅Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Laravel 5.5.13
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΠΊΡΠΈΡ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ :
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π² Laravel
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ create_articles_table, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ articles Ρ ΠΏΠΎΠ»ΡΠΌΠΈ:
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π’Π΅ΠΏΠ΅ΡΡ Π² ΠΌΠ΅ΡΠΎΠ΄ up Π½Π°ΡΠ΅ΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ (database/migrations/ _ _create_articles_table.php) Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Π Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ:
ΠΡΠ»ΠΈΡΠ½ΠΎ, ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π² Π½Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π° (ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠ°Π±Π»ΠΈΡ: migrations, password_resets ΠΈ users) ΡΠ°Π±Π»ΠΈΡΠ° articles.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Laravel
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π°ΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ articles. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ (app/Article.php) ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π² Laravel
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ΅ΡΡΡΡΠΎΠ²:
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΠΎΡΡΡ ΠΊ ΡΡΠΎΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ. ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» routes/web.php ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ:
Π Π΄Π°Π²Π°ΠΉΡΠ΅ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ index ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ArticleController Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄Π»Ρ ΡΠ΅ΡΡΠ°:
ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ /article. Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ http://lara.loc/article
ΠΡΠ²ΠΎΠ΄ Π²ΡΠ΅Ρ ΡΡΠ°ΡΠ΅ΠΉ.
ΠΠ° Π²ΡΠ²ΠΎΠ΄ Π²ΡΠ΅Ρ ΡΡΠ°ΡΠ΅ΠΉ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ index ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ArticleController. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΎΠΏΠΈΡΠ΅ΠΌ Π΅Π³ΠΎ:
ΠΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ articles (Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Ρ id ΠΈ title) ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π²ΡΠ΅ Π² ΡΠ°Π±Π»ΠΎΠ½ index.blade.php ΠΈ Π½Π΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°Π±Π»ΠΎΠ½ index.blade.php Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ resources/view ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠΌ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ.
ΠΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π£ Π½Π°Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΠΎΠΊΠ° Π½Π΅Ρ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ajax Π·Π°ΠΏΡΠΎΡΠ°
ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΡΠ°ΡΠ΅ΠΉ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΌΡ Π²Π²ΠΎΠ΄ΠΈΠΌ Π΄Π°Π½Π½ΡΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ°ΡΡΠΈ. Π ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡΒ» ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ajax Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΠΏΠΈΡΠ΅ΠΌ JavaScript, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈ ΠΊΠ»ΠΈΠΊΠ΅ ΠΏΠΎ Β«Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡΒ» Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ajax Π·Π°ΠΏΡΠΎΡ Π½Π° Π°Π΄ΡΠ΅Ρ /article (Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ http://lara.loc/article), Π° Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ POST.
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅ΠΌ β ΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡΒ» Π Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠ΄ Π½Π° JavaScript. Π ΠΊΠΎΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Π° index.blade.php, ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ², Π΄ΠΎΠ±Π°Π²ΠΈΠΌ:
ΠΡΠΌΠ°Ρ, ΡΡΠΎ ΠΊΠΎΠ΄ ΠΏΠΎΡΡΠ½ΡΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ. ΠΡΠΎΡΡΠΎ ΡΡΡ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ POST Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ title ΠΈ text Π½Π° Π°Π΄ΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΎΡΡΠ°.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠΏΠΈΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠΈΠΌ ΡΠΎΡΡΠΎΠΌ (Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ArticleController ΠΈ ΠΌΠ΅ΡΠΎΠ΄ store). ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² ΠΌΠ΅ΡΠΎΠ΄ store ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΡ ΡΡΠ°ΡΡΡ.
Π‘ΡΠ°ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π°. ΠΡΠ»ΠΈ ΠΌΡ ΠΎΡΠΊΡΠΎΠ΅ΠΌ Π½Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π·Π°ΠΏΠΈΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΡΠ°ΡΡΠΈ.
ΠΡΠΎΡΠΌΠΎΡΡ ΡΡΠ°ΡΡΠΈ
ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΡΠ°ΡΡΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ show ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ArticleController, Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΡ Π² Π±Π°Π·Π΅ ΠΈΡΠ΅ΠΌ ΡΡΠ°ΡΡΡ ΠΏΠΎ Π΅Π΅ id, ΠΈ Π²ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ Π² ΡΠ°Π±Π»ΠΎΠ½ show.blade.php. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°Π±Π»ΠΎΠ½ show.blade.php ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄. (ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² resources/view)
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ. ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΡΠ°ΡΠ΅ΠΉ ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ°ΡΡΠΈ:
ΠΡΠ»ΠΈΡΠ½ΠΎ. ΠΠΎ Π½Π°ΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠ΅ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ajax.
ΠΠ° ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ Ρ Π½Π°Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ destroy ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ArticleController. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΎΠΏΠΈΡΠ΅ΠΌ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ CRUD-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π° AJAX ΠΈ Laravel 8: ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ° CRUD (ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΡΡΠ΅Π½ΠΈΡ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ) Π½Π° AJAX ΠΈ Laravel 8.
ΠΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ CRUD Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΎΡΠΈΠ±ΠΎΠΊ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ, ΠΏΠΎΠΈΡΠΊΠ°, ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠ»Ρ Π²Π²ΠΎΠ΄Π° ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Bootstrap. ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π² ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ CRUD ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠΎΡΡΡ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΠΌΠΈ Π±Π΅Π· ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΠΏΠΎΡΡΠ°ΠΏΠ½ΠΎΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ CRUD Π½Π° AJAX ΠΈ Laravel 8.
Π‘Π½Π°ΡΠ°Π»Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Laravel Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ½ΠΎΡΠΈΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ» ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ ΡΠ°ΠΉΠ» ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ
ΠΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΡΠ°ΠΉΠ»Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΌΠΎΠ΄Π΅Π»ΠΈ (Post.php) ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ.
ΠΠΈΠ³ΡΠ°ΡΠΈΡ: ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΠΉΠ» Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π·Π΄Π΅ΡΡ β database\migrations\2021_03_21_061250_create_posts_table.php
ΠΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΠ΄Π΅Π»Ρ: Π² ΡΠ°ΠΉΠ» Post.php Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠ°ΠΊ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅:
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΡΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ ΠΌΠ°ΡΡΡΡΡΡ Π΄Π»Ρ Laravel 8 CRUD Π² ΡΠ°ΠΉΠ»Π΅ routes/web.php, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ
ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° PostController Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° (app/Http/Controllers/PostController.php) Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² Π½Π΅Π³ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ:
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½ Blade
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» posts.blade.php, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ resources\views\posts.blade.php. ΠΠ°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ
ΠΠΎΡΠ»Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΡΠ³Π°
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ AJAX Π·Π°ΠΏΡΠΎΡΠ° ΡΠ΅ΡΠ΅Π· Jquery
ΠΠΎΠΏΠΎΠ»Π½ΠΈΠΌ CRUD Π½Π°Π±ΠΎΡ Π½Π° Laravel 8 ΠΈ AJAX ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΌ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ΠΎΠΌ β ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΡΠ³Π°
Laravel 8 Ajax Example Tutorial: How to Use Ajax in Laravel
Laravel AJAX Example
AJAX is primarily used to make flawless HTTP requests to read, write, update, and delete the data from the server. AJAX is a tool that makes the consensus between the client and the server.
The usage of AJAX is from the primordial time, obviously from the web development perspective.
AJAX is used through jQuery, and a simple jQuery link can propel it. The jQuery offers excellent features, and AJAX is one of them.
Laravel has always been the best PHP framework, possibly you may have a different opinion, but current data of the sites built with this framework interprets a lot about itself.
PHP drives laravel, and it has been assimilated in Laravel, making its entire mechanism simple yet powerful. From the PHP Web application development perspective, You may also say that it makes it robust.
AJAX in Programming
We can also denote it by Asynchronous JavaScript and XML. It is a powerful tool ultimately used in web development on the client-side to build asynchronous web applications. With it, web applications can make HTTP requests and used for sending and retrieving the data to a web server asynchronously (mainly a background process). The exclusivity lies in its core. It doesnβt interfere with the existing web page, and that what it stands out to do.
Table of Contents
Install Laravel Project
We have to run the given below command to install a fresh Laravel application, this app will be the sacred canon for Laravel Ajax example.
Head over to project directory, or you can simultaneously execute following command with above command followed by double && symbol.
Make Database Connection
If you are using MAMP, then you might possibly get the following migration error.
Paste the following line right after the database configuration inside the .env.
Create & Configure Model and Migration
We are creating a simple to-do application, this allows user to insert, read, update or delete the data from the database using AJAX requests.
In the model, we define the schema that communicates with the database. Whereas, migration set out to generate tables with values that interact with the model.
The above command simultaneously created both Model and Migration file.
Add Values in Model
To set up the data values to the database, open app/Models/Todo.php and place the following code.
Configure and Run Migration
To set up the data values to the database, open migrations/xxxx_xx_xx_xxxxxx_create_todos_table.php and place the following code.
Run Migration
We have added name and description values respectively and consecutively. Now, we have to define the todo app values within the up() function, so when we run the migration, then all the set values can be seen in the database.
Create Controller
Execute the following command to create the controller for handling CRUD logic.
Paste the following code in the newly created controller in app/Http/Controllers/CrudController.php file.
Generically, create two functions here, and these functions propel the Laravel AJAX example. The index function renders all the records from the database, and preferably store method saves the data record in the database.
Create Routes
Define route; it is one of the foundational steps that directly communicates with the controller that we created earlier, open routes/web.php, and paste the following code.
Create Layout
Let us create the view for showing you how to use AJAX in the Laravel application precisely. Head over to resources/views folder and create home.blade.php file.
After creating the recommended file, also create views/layouts/app.blade.php file and folder. Add the following code inside the app.blade.php file.
Make Ajax request in Laravel
First, we have to create the table layout and modal popup with form using Bootstrap. These two foundational elements are useful in propelling the AJAX request in Laravel to render or store the data in the database.
Insert the following code in views/home.blade.php file.
AJAX Logic in Laravel
Now, we need to create a todo.js file inside the public/js folder. Place the entire code in it.
Test Laravel AJAX App
You need to start the application by executing the below command:
You can test the app on the following URL: http://127.0.0.1:8000/todo
You can check out the working example of Laravel and AJAX application.
Add Data
List View
Conclusion
In this tutorial, we created a simple Laravel application. We looked at the simple example that described us how to use AJAX in Laravel to make HTTP requests to fetch and add the data in the MySQL database.
Well, this is just a beginning; this framework offers tremendous flexibility to create enterprise-level applications.
I hope you liked this tutorial, please share this tutorial with other developers likewise help me to bring more content like this.
Thanks and have a good day.
I am Digamber, a full-stack developer and fitness enthusiast. I crafted this site to bestow my coding experience and love to write on JavaScript, React, Angular, Vue, Laravel.
ΠΠ°ΠΊ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· Ajax (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Laravel Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±ΡΠΊΡΠ½Π΄Π°)
Π§ΡΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π΄Π΅Π»Π°ΡΡ
Π£ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΅ΡΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ Π½Π° ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΡΠΈΠ»Ρ, ΠΈ Ρ Π½Π΅Π³ΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ Π½ΠΎΠ²ΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ ( ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΎΡΠΌΠ΅Π½Ρ, ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ).
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π·Ρ ΠΆΠ΅ (Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ).
ΠΠ°ΠΊ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ
Π£ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠΎΠ³Π½Π°Π»ΠΈ
Π€ΠΎΡΠΌΠ° Π±ΡΠ΄Π΅Ρ ΡΠΊΡΡΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° CSS ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ display (ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ none).
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ Π΅Π΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
Π§ΡΠΎ Π½Π° ΡΡΠ΅Ρ Javascript?
ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ», Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ 2 ΡΠΎΠ±ΡΡΠΈΡ. Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ .
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, Π² ΡΠΎΠ±ΡΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ input Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ» ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅.
ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΠΉΠ»Π°.
ΠΡΠ»ΠΈ Π²ΡΠ΅ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Ajax-Π·Π°ΠΏΡΠΎΡΠ°.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ΄Π΅ΡΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ:
ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΡΡ profile/photo (ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π² action ΡΠΎΡΠΌΡ). ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΡΡ.
ΠΡΠΎΡ ΠΌΠ°ΡΡΡΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ Π² ΡΠ°ΠΉΠ»Π΅ Laravel routes.
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠ°ΡΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ProfileController. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄ updatePhoto.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΡΡΠΎΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ Ρ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π» ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π±ΡΠ» ΡΡΠΎΠ»Π±Π΅Ρ photo_extension.
ΠΠ°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ getAvatarUrl Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ User.
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ URL-Π°Π΄ΡΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ Π½Π΅Ρ, Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ URL-Π°Π΄ΡΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ Intervention/Image (Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ, ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΡΠ°ΡΠΈ. ΠΡΠ»ΠΈ Π²Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ, ΡΠΎ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ uniqid() Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ updatePhoto. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ° Π² ΠΊΠΎΠ½Π΅Ρ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ΅Π³Π΄Π° Π²ΠΈΠ΄Π΅Π» ΡΠ²ΠΎΡ Π½ΠΎΠ²ΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ ΠΏΡΠΎΡΠΈΠ»Ρ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°Π½Π΅Π΅ ΠΎΠ½ ΠΌΠΎΠ³ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΎΡΡ Π² ΠΊΡΡΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ°).