Home  >  Article  >  Backend Development  >  AJAX Operation Guide in PHP

AJAX Operation Guide in PHP

WBOY
WBOYOriginal
2023-05-22 08:15:052588browse

With the development of Internet technology, front-end web development has become more and more important. In web development, the emergence of JavaScript has accelerated the implementation of many interactivity and dynamics. However, JavaScript is not a back-end language and cannot interact directly with databases or file systems. Therefore, in order to achieve more efficient web development, AJAX technology was introduced.

AJAX is the abbreviation of "Asynchronous JavaScript and XML". It uses JavaScript, XML, HTML and CSS technologies to implement asynchronous data transmission and can interact with the server without refreshing the page. In PHP, AJAX technology is increasingly used. This article will provide a detailed explanation of AJAX operations in PHP.

1. Interaction without refreshing the page

In web applications, user operations may need to obtain data from the server, such as search results, asynchronous requests, form submissions, etc. Taking form submission as an example, the simplest way is to set a submit button in the ff9c23ada1bcecdd1a0fb5d5a0f18437 tag of the page:

<form action="submit.php" method="post">
    ...
    <input type="submit" value="提交">
</form>

After the user submits the form, the page will be reloaded and the fields in the form will be changed. The data is sent to the server so that the user can get the response returned from the server. However, this method requires the page to be reloaded, causing unnecessary delays and affecting the user experience.

In order to avoid this situation, we can use AJAX technology to implement form submission without refreshing the page. This can be achieved in the following ways:

var xhr = new XMLHttpRequest();
xhr.open("POST", "submit.php", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
    if(xhr.readyState === 4 && xhr.status === 200) {
        document.getElementById("result").innerHTML = xhr.responseText;
    }
};
var formData = new FormData(document.getElementById("form"));
xhr.send(formData);

The above code first creates the XMLHttpRequest object xhr , and then use the open method to set the request method (POST), URL (submit.php) and asynchronous transmission (true). Next, use the setRequestHeader method to set the Content-type header information. In the onreadystatechange callback function, we can determine the status of the request and the status code of the response to ensure that the request returns successfully. Finally, use the FormData object to obtain the form data and send the request through the send method.

2. Use jQuery to implement AJAX

jQuery is a popular JavaScript library that provides a series of convenient functions and tools to simplify AJAX operations. With jQuery, we can easily implement AJAX requests. The following is a sample code for implementing AJAX using jQuery:

$("#form").on("submit", function(event) {
    event.preventDefault();
    $.ajax({
        url: "submit.php",
        type: "POST",
        data: new FormData(this),
        processData: false,
        contentType: false,
        success: function(data) {
            $("#result").html(data);
        },
        error: function() {
            alert("请求失败!");
        }
    });
});

The above code will use jQuery's ajax method to perform an AJAX request. Before submitting the form, we use event.preventDefault() to prevent the default form submission event so as not to refresh the page. Next, set the url attribute to submit.php, the type attribute to POST, use the FormData object to obtain the form data, and set the processData and contentType attributes to false to ensure that the form data is not processed. When the request is successful, we can perform corresponding operations in the success callback function. When the request fails, we can handle it accordingly in the error callback function.

3. AJAX access to JSON data returned by PHP

When an AJAX request is made to PHP, PHP can return various data types, such as HTML, XML, JSON and ordinary text. In PHP, using JSON for data exchange is becoming more and more popular, so returning JSON data in AJAX requests has become an important issue. The following is a simple PHP program that shows how to return data from the database in JSON format:

<?php
    $db = new PDO("mysql:host=localhost;dbname=test", "root", "password");
    $query = $db->prepare("SELECT * FROM users");
    $query->execute();
    $result = $query->fetchAll(PDO::FETCH_ASSOC);
    echo json_encode($result);
?>

The above code uses the PDO library to connect to the database and get all the data from the users table. Through the json_encode function, we convert the data into JSON format and output it to the page. Then, the data can be obtained and processed in the AJAX request:

$.ajax({
    url: "get_data.php",
    type: "GET",
    dataType: "json",
    success: function(data) {
        console.log(data);
    }
});

The above code uses jQuery's ajax method to obtain the data, and sets the dataType attribute to json. When the request is successful, the data parameter will contain data in JSON format, and we can use the console.log method to output the data. Of course, we can also parse the data and perform corresponding operations.

Summary

This article provides a detailed explanation of AJAX operations in PHP. The use of AJAX technology can not only improve the efficiency and user experience of Web applications, but also enable more flexible and convenient data exchange. AJAX has become an indispensable web development technology. For PHP developers, mastering AJAX technology can achieve more efficient and dynamic web applications.

The above is the detailed content of AJAX Operation Guide in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn