Form Posting Issue in AJAX-Loaded Content
Problem:
When loading a form using $.load(), the form's POST data is not being sent to the intended PHP script. Instead, the page reloads itself.
Background:
AJAX (Asynchronous JavaScript and XML) allows you to send data to a server without reloading the entire page. Typically, this is achieved using XMLHttpRequest.
Solution:
Are you familiar with AJAX? If not, let's clarify its functionality:
AJAX allows you to post data to an external PHP file, which processes it and returns a response. The process involves:
Sending Data:
Processing Data:
Returning Response:
Example:
main_file.html:
<script> $(document).ready(function() { $('#myForm').submit(function(event) { event.preventDefault(); // Prevent page reload var data = $(this).serialize(); // Serialize form data $.ajax({ type: "POST", url: "process_form.php", data: data, success: function(response) { // Handle the response from the PHP file } }); }); }); </script> <form>
process_form.php:
<?php $name = $_POST['name']; // Get the posted name value // Process the data // Return a response echo "Name: $name"; ?>
The above is the detailed content of Why is my AJAX-loaded form not sending POST data to the PHP script?. For more information, please follow other related articles on the PHP Chinese website!