Ajax

Ajax (Asynchronous JavaScript and XML) là một kỹ thuật cho phép gửi yêu cầu đến máy chủ và nhận phản hồi mà không cần tải lại trang web. Laravel cung cấp cho chúng ta các công cụ để thực hiện Ajax trong ứng dụng của mình.

Để thực hiện Ajax trong Laravel, chúng ta có thể sử dụng JavaScript để gửi yêu cầu đến máy chủ và nhận phản hồi bằng JSON. Sau đó, chúng ta có thể sử dụng JavaScript để xử lý phản hồi và cập nhật giao diện người dùng mà không cần tải lại trang.

Để xử lý yêu cầu Ajax, chúng ta có thể tạo một phương thức trong controller để xử lý yêu cầu và trả về phản hồi dưới dạng JSON. Ví dụ, để lấy danh sách bài viết và trả về dưới dạng JSON, bạn có thể sử dụng mã sau:

public function getPosts()
{
    $posts = Post::all();
    return response()->json($posts);
}

Trong đoạn mã này, chúng ta đã tạo một phương thức getPosts() trong controller để lấy danh sách bài viết và trả về dưới dạng JSON bằng cách sử dụng phương thức json() của lớp Response.

Sau đó, chúng ta có thể sử dụng JavaScript để gửi yêu cầu đến phương thức này và xử lý phản hồi. Ví dụ, để gửi yêu cầu Ajax để lấy danh sách bài viết và cập nhật giao diện người dùng, bạn có thể sử dụng mã sau:

$.ajax({
    url: '/posts',
    type: 'get',
    dataType: 'json',
    success: function(response) {
        // Xử lý phản hồi ở đây
    }
});

Trong đoạn mã này, chúng ta đã sử dụng phương thức ajax() của jQuery để gửi yêu cầu đến phương thức getPosts() của controller và xử lý phản hồi trong phương thức success(). Phương thức dataType được sử dụng để xác định loại dữ liệu phản hồi (ở đây là JSON).

Laravel cũng cung cấp cho chúng ta một số công cụ khác để thực hiện Ajax như axios, fetch, vue-resourcereact-native-fetch. Bạn có thể sử dụng công cụ phù hợp với ứng dụng của mình.