Ajax lấy dữ liệu từ PHP JSON

Truyền dữ liệu JSON bằng jQuery và AJAX tới Node. js tương đối đơn giản, việc chuyển dữ liệu JSON bằng jQuery và AJAX sang PHP cần thêm một số bước

Truyền dữ liệu JSON bằng jQuery và AJAX tới Node. js tương đối đơn giản, việc chuyển dữ liệu JSON bằng jQuery và AJAX sang PHP cần thêm một số bước

Thay vì cố gắng gửi JSON nguyên trạng, bạn chỉ nên gửi một chuỗi JSON được định dạng tốt và để PHP chuyển đổi nó thành một đối tượng hoặc một mảng kết hợp (tùy thuộc vào cách bạn sử dụng hàm json_decode())

Hãy nhớ rằng PHP không chỉ yêu cầu chuỗi phải là JSON hợp lệ. chuỗi của bạn cũng phải tuân thủ UTF-8. Vì vậy, với jQuery chúng ta có thể viết

Đây là JavaScript trên máy khách, sử dụng lệnh gọi AJAX để yêu cầu tệp PHP từ ví dụ trên

Ví dụ

Sử dụng JSON. parse() để chuyển đổi kết quả thành một đối tượng JavaScript

const xmlhttp = new XMLHttpRequest();
xmlhttp. onload = function() {
  const myObj = JSON. phân tích cú pháp (cái này. responseText);
  tài liệu. getElementById("bản trình diễn"). bên trongHTML = myObj. tên;
}
xmlhttp. open("NHẬN", "tệp demo_file. php");
xmlhttp. gửi();

Tự mình thử »



Mảng PHP

Mảng trong PHP cũng sẽ được chuyển đổi thành JSON khi sử dụng hàm PHP json_encode()

tập tin PHP

$myArr = array("John", "Mary", "Peter", "Sally");

$myJSON = json_encode($myArr);

echo $myJSON;
?>

Hiển thị tệp PHP »

JavaScript ứng dụng khách

Đây là JavaScript trên máy khách, sử dụng lệnh gọi AJAX để yêu cầu tệp PHP từ ví dụ về mảng ở trên

Ví dụ

Sử dụng JSON. parse() để chuyển đổi kết quả thành một mảng JavaScript

var xmlhttp = new XMLHttpRequest();
xmlhttp. onload = function() {
  const myObj = JSON. phân tích cú pháp (cái này. responseText);
  tài liệu. getElementById("bản trình diễn"). innerHTML = myObj[2];
}
xmlhttp. open("NHẬN", "demo_file_array. php", true);
xmlhttp. gửi();

Tự mình thử »


Cơ sở dữ liệu PHP

PHP là ngôn ngữ lập trình phía máy chủ và có thể được sử dụng để truy cập cơ sở dữ liệu

Hãy tưởng tượng bạn có một cơ sở dữ liệu trên máy chủ của mình và bạn muốn gửi yêu cầu tới nó từ máy khách nơi bạn yêu cầu 10 hàng đầu tiên trong bảng có tên là "khách hàng"

Trên máy khách, hãy tạo một đối tượng JSON mô tả số hàng bạn muốn trả về

Trước khi bạn gửi yêu cầu đến máy chủ, hãy chuyển đổi đối tượng JSON thành một chuỗi và gửi nó dưới dạng tham số tới url của trang PHP

jQuery ajax rất hữu ích khi bạn muốn đăng hoặc lấy dữ liệu từ tập lệnh PHP mà không cần làm mới trang. Nói chung, bạn trả lại chuỗi cho lệnh gọi Ajax để cập nhật một phần của trang web. Nhưng đôi khi yêu cầu lấy đối tượng hoặc dữ liệu mảng từ tệp PHP để hiển thị các giá trị ở khu vực khác. Sử dụng $. ajax() trong jQuery, bạn có thể lấy dữ liệu JSON từ một tệp và đặt trong phần tử HTML

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách xử lý yêu cầu ajax bằng jQuery và gọi tập lệnh PHP trả về dữ liệu JSON. Tập lệnh PHP sẽ lấy dữ liệu từ cơ sở dữ liệu MySQL và trả về dữ liệu JSON cho Ajax. Dữ liệu trả về được phân tích cú pháp bằng JavaScript và đặt giá trị cho các phần tử cụ thể

jQuery AJAX Gọi tới PHP Script với JSON Return

Để bạn hiểu rõ hơn, chúng tôi sẽ lấy chi tiết người dùng từ cơ sở dữ liệu dựa trên ID người dùng thông qua lệnh gọi Ajax bằng jQuery, PHP và MySQL

Tạo bảng cơ sở dữ liệu

Bảng users chứa thông tin cơ bản của người dùng. Tập lệnh ví dụ của chúng tôi sẽ truy xuất chi tiết người dùng từ bảng demo (người dùng) này

CREATE TABLE `users` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
 `email` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
 `phone` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
 `created` datetime NOT NULL,
 `modified` datetime NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Mã HTML

Ban đầu, một hộp nhập liệu được hiển thị để cung cấp ID người dùng có thông tin chi tiết mà bạn muốn truy xuất. Nút “Nhận thông tin chi tiết” khởi tạo một yêu cầu Ajax và các chi tiết người dùng tương ứng được hiển thị bên dưới hộp nhập liệu


User Details

Name:

Email:

Phone:

Register Date:

Mã JavaScript (jQuery & AJAX)

Phương pháp $.ajax() thực hiện một yêu cầu Ajax và đăng ID người dùng lên tệp PHP để lấy thông tin chi tiết về người dùng từ cơ sở dữ liệu. Nếu yêu cầu thành công, dữ liệu được trả về từ máy chủ ở định dạng được chỉ định trong tham số dataType. Trong tập lệnh mẫu của chúng tôi, JSON được chỉ định trong dataType, dữ liệu sẽ được trả về dưới dạng định dạng JSON. Bộ dữ liệu JSON được phân tích cú pháp thành nội dung phần tử tương ứng

Tập lệnh PHP (getData. php)

Tập lệnh PHP này được gọi theo yêu cầu Ajax. Dựa trên ID người dùng, các chi tiết được lấy từ cơ sở dữ liệu bằng PHP và MySQL. Dữ liệu được truy xuất trả về dưới dạng định dạng JSON cho Ajax

if(!empty($_POST['user_id'])){
    $data = array();

    //database details
    $dbHost     = 'localhost';
    $dbUsername = 'root';
    $dbPassword = '*****';
    $dbName     = 'codexworld';

    //create connection and select DB
    $db = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);
    if($db->connect_error){
        die("Unable to connect database: " . $db->connect_error);
    }

    //get user data from the database
    $query = $db->query("SELECT * FROM users WHERE id = {$_POST['user_id']}");

    if($query->num_rows > 0){
        $userData = $query->fetch_assoc();
        $data['status'] = 'ok';
        $data['result'] = $userData;
    }else{
        $data['status'] = 'err';
        $data['result'] = '';
    }

    //returns data as JSON format
    echo json_encode($data);
}
?>

Bạn có muốn nhận trợ giúp triển khai hay sửa đổi hoặc nâng cao chức năng của tập lệnh này không?

Làm cách nào để trả lại dữ liệu JSON từ PHP về Ajax?

tạo tệp ajax. php để xử lý yêu cầu AJAX. Khởi tạo Mảng $return_arr với các chi tiết người dùng (id, tên người dùng, tên và email) và trước khi trả lại, hãy chuyển đổi nó sang định dạng JSON bằng hàm json_encode()

Làm cách nào để lấy dữ liệu từ PHP sang Ajax?

nhấp (hàm () { trình gỡ lỗi; $. ajax({ //dữ liệu. {hoạt động. "phòng trưng bày"}, url. "mục lục. php", // URL trang php nơi chúng tôi đăng dữ liệu này để xem từ loại cơ sở dữ liệu. 'POST', thành công. hàm(dữ liệu){ $("#content"). html(dữ liệu);

Làm cách nào để lấy dữ liệu JSON trong phản hồi Ajax?

Cách tiếp cận. Để giải quyết vấn đề này, trước tiên chúng ta sẽ xem xét tệp JSON có tên “viết hoa. json” và thử lấy dữ liệu JSON này dưới dạng phản hồi bằng AJAX . Sau đó, chúng ta sẽ tạo một tệp HTML “capitals. html” chứa một bảng mà chúng tôi sẽ sử dụng để điền dữ liệu mà chúng tôi đang nhận được phản hồi.

Làm cách nào để đọc dữ liệu JSON trong jQuery Ajax?

Để tải dữ liệu JSON bằng jQuery, hãy sử dụng phương thức getJSON() và ajax() . jquery. Phương thức getJSON( ) tải dữ liệu JSON từ máy chủ bằng yêu cầu GET HTTP. dữ liệu - Tham số tùy chọn này đại diện cho các cặp khóa/giá trị sẽ được gửi đến máy chủ.