AJAX (Asynchronous JavaScript and XML) is a technique used to create interactive web applications. With AJAX, developers can exchange data with the server without refreshing the entire page, allowing dynamic content updates.
In PHP7.0, we can use AJAX to handle data interaction between the front-end and back-end, improving user experience and web performance.
Before using AJAX, we need to create an XMLHttpRequest object, which is responsible for interacting with the server.
var xhr = new XMLHttpRequest();
The XMLHttpRequest object is the core of AJAX development, used to create HTTP requests and exchange data with the server.
Sending an AJAX request generally involves two steps: setting the request parameters and sending the request.
Setting request parameters:
var url = "example.php";
var params = "name=John&age=25";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
Sending the request:
xhr.send(params);
In the code above, we use the POST method to send the request and pass the request parameters as key-value pairs to the server. Before sending the request, we set the request header using the setRequestHeader() method to specify the format of the data being transmitted.
When the server responds, we need to handle the response. This can be done by setting the xhr object's onreadystatechange property to listen for the response status.
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
var response = xhr.responseText;
// Handle the server response data
}
}
};
Once the server responds, we can use the xhr object's responseText property to access the data returned by the server and handle it as needed.
In PHP7.0, we can use PHP scripts as back-end processors to handle AJAX requests. First, create a PHP file to receive and process the request.
<?php
$name = $_POST['name'];
$age = $_POST['age'];
// Perform data processing
$response = "Hello, " . $name . "! You are " . $age . " years old.";
echo $response;
?>
In this code, we use the $_POST global variable to access the parameters passed from the front-end, perform any necessary processing, and then return the result back to the front-end using echo.
In the frontend, we use JavaScript to send AJAX requests.
function sendRequest() {
var xhr = new XMLHttpRequest();
var url = "example.php";
var name = document.getElementById("name").value;
var age = document.getElementById("age").value;
var params = "name=" + name + "&age=" + age;
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
var response = xhr.responseText;
document.getElementById("result").innerHTML = response;
}
}
};
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send(params);
}
In this code, we define the sendRequest() function, which first uses getElementById() to retrieve user input and send it as request parameters to the server. Then, the server's response is displayed on the page using innerHTML.
By combining AJAX with PHP7.0, developers can efficiently interact with the server, dynamically update the web page content, and improve web interactivity and performance. When used correctly, AJAX can significantly enhance user experience and optimize web page responsiveness.