sandrulis Posted September 19, 2015 Report Share Posted September 19, 2015 Sveiki! meklējot pie mātes googles neko īsti nevarēju atrast par json ar piemēriem, jo man liekas ar to ir labāk mācīties. interesē piemēram, kā vislabāk ir ielādēt formas un nosūtīt datus? vai arī vienkārši formu ielādēt ar php un datus nosūtīt ar json?? Link to comment Share on other sites More sharing options...
jurchiks Posted September 19, 2015 Report Share Posted September 19, 2015 (edited) Ja tev ir one-page application, tad ielādē formas datus ar json un renderē ar JS, bet parasti izvada HTML no servera un submito ar AJAX, ja tas nepieciešams. Piemēram, plikai admina paneļa login lapai, kurā bez login formas nekā cita nav, nav jēgas submitot datus ar AJAX.Īsāk sakot - "vislabāk" ir subjektīvs jēdziens, atkarīgs no situācijas un nepieciešamības.Piemēra pēc - iemet šo kodu PHP failā uz sava lokālā webservera ar nosaukumu "test.php" (vai pamaini "url" parametru jQuery.ajax() izsaukumā), un tad skaties, domā, ko kas dara. <?php if (isset($_POST['name'], $_POST['address'])) { $name = trim($_POST['name']); $address = trim($_POST['address']); if ((mb_strlen($name) < 3) // too short || (preg_match('/\p{L}+/', $name) !== 1)) // no letters { echo json_encode(array('error' => 'name')); die(); } if (empty($address)) { echo json_encode(array('error' => 'address')); die(); } // save data in db or w/e here echo json_encode('success' => 1); die(); } ?> <html> <head> <meta charset="UTF-8"> </head> <body> <form> <input type="text" name="name" placeholder="Vārds, uzvārds" /><br /> <input type="text" name="address" placeholder="Adrese" /><br /> <button type="submit">Ievadīt</button> </form> <script type="text/javascript" src="//code.jquery.com/jquery-2.1.4.min.js"></script> <script type="text/javascript"> jQuery(document).ready(function () { jQuery('form').on('submit', function (e) { e.preventDefault(); // cancel browser form submit jQuery.ajax({ url: 'test.php', type: 'post', data: jQuery(this).serialize(), // collect input data dataType: 'text', success: function (response) { if (response.success) { alert('Viss kārtībā!'); } else if (response.error) { if (response.error === 'name') { alert('Vārdam jābūt vismaz 3 burtus garam!'); } else if (response.error === 'address') { alert('Lūdzu ievadiet adresi!'); } } } }); }); }); </script> </body> </html> Edited September 19, 2015 by jurchiks Link to comment Share on other sites More sharing options...
Recommended Posts