Bagaimana untuk mendapatkan tatasusunan json frontend dalam php

王林
Lepaskan: 2023-05-07 14:41:11
asal
878 orang telah melayarinya

Sebagai bahasa sebelah pelayan, PHP biasanya menggunakan format JSON untuk menghantar data apabila berinteraksi dengan bahagian hadapan. JSON (JavaScript Object Notation) ialah format pertukaran data yang ringan Disebabkan kesederhanaan, kemudahan pemahaman dan kemudahan penggunaan, ia telah menjadi format penghantaran data yang biasa digunakan dalam pembangunan Web. Apabila menggunakan JSON pada bahagian hadapan, kaedah JSON.stringify() biasanya digunakan untuk menukar data ke dalam format JSON dan menghantar permintaan melalui ajax dan kaedah lain Bahagian belakang perlu menggunakan PHP untuk menerima dan memproses permintaan ini termasuk dapatkan, pos dan ajax dan kaedah lain. Artikel ini akan memperkenalkan cara mendapatkan tatasusunan JSON hadapan dalam PHP.

  1. Gunakan kaedah $_POST untuk mendapatkan tatasusunan JSON bahagian hadapan

Biasanya, apabila bahagian hadapan menggunakan ajax untuk menghantar permintaan POST, data JSON akan dihantar ke bahagian belakang sebagai bahagian data permintaan . Dalam PHP, data ini boleh diperoleh menggunakan kaedah $_POST. Sebagai contoh, kod ajax bahagian hadapan adalah seperti berikut:

$.ajax({
    type: "POST",
    url: "test.php",
    data: JSON.stringify({"name": "John", "age": 25}),
    contentType: "application/json",
    success: function(data) {
        console.log(data);
    }
});
Salin selepas log masuk
Salin selepas log masuk

Dalam fail test.php di latar belakang, kita boleh menggunakan kaedah $_POST untuk mendapatkan data JSON yang dihantar oleh bahagian hadapan:

<?php
$data = json_decode(file_get_contents("php://input"), true);
print_r($data);
?>
Salin selepas log masuk
Salin selepas log masuk

Antaranya, kaedah file_get_contents("php ://input") boleh mendapatkan data permintaan POST, kaedah json_decode menyahkod data ke dalam tatasusunan PHP, dan akhirnya menggunakan fungsi print_r untuk mengeluarkan tatasusunan ke konsol.

  1. Gunakan kaedah $_GET untuk mendapatkan tatasusunan JSON bahagian hadapan

Selain kaedah POST, bahagian hadapan juga boleh menggunakan kaedah GET untuk menghantar Data JSON ini biasanya digunakan untuk mendapatkan data . Sebagai contoh, kod ajax bahagian hadapan adalah seperti berikut:

$.ajax({
    type: "GET",
    url: "test.php",
    data: {"name": "John", "age": 25},
    contentType: "application/json",
    success: function(data) {
        console.log(data);
    }
});
Salin selepas log masuk

Dalam fail test.php di latar belakang, kita boleh menggunakan kaedah $_GET untuk mendapatkan data JSON yang dihantar oleh bahagian hadapan. Walau bagaimanapun, memandangkan data permintaan GET tidak dihantar terus ke pelayan, tetapi dilampirkan pada rentetan pertanyaan selepas URL, pemprosesan tertentu diperlukan pada data ini. Sebagai contoh, jika data JSON dikodkan base64 dan kemudian dilampirkan pada URL, rentetan pertanyaan perlu dinyahkod dan dihuraikan di latar belakang sebelum data JSON asal boleh diperolehi. Kod sampel adalah seperti berikut:

Kod hadapan:

$.ajax({
    type: "GET",
    url: "test.php",
    data: {"json": btoa(JSON.stringify({"name": "John", "age": 25}))},
    contentType: "application/json",
    success: function(data) {
        console.log(data);
    }
});
Salin selepas log masuk

Kod belakang:

<?php
$json = json_decode(base64_decode($_GET["json"]), true);
print_r($json);
?>
Salin selepas log masuk

Dalam contoh ini, kami base64-mengekod data JSON melalui kaedah btoa() dan hantar ke Backstage. Latar belakang menggunakan kaedah base64_decode() untuk menyahkod rentetan pertanyaan, kemudian menghuraikan data JSON yang dinyahkodkan ke dalam tatasusunan PHP melalui kaedah json_decode() dan akhirnya mengeluarkannya ke konsol.

  1. Gunakan kaedah file_get_contents untuk mendapatkan tatasusunan JSON bahagian hadapan

Selain kaedah $_POST dan $_GET, kami juga boleh menggunakan kaedah file_get_contents untuk mendapatkan JSON data yang dihantar oleh bahagian hadapan. Kaedah ini biasanya digunakan untuk memproses data JSON yang lebih besar. Sebagai contoh, kod ajax bahagian hadapan adalah seperti berikut:

$.ajax({
    type: "POST",
    url: "test.php",
    data: JSON.stringify({"name": "John", "age": 25}),
    contentType: "application/json",
    success: function(data) {
        console.log(data);
    }
});
Salin selepas log masuk
Salin selepas log masuk

Dalam fail test.php di latar belakang, kita boleh menggunakan kaedah file_get_contents untuk mendapatkan data JSON secara langsung yang dihantar oleh bahagian hadapan, dan gunakan kaedah json_decode untuk menyahkodnya ke dalam tatasusunan PHP.

<?php
$data = json_decode(file_get_contents("php://input"), true);
print_r($data);
?>
Salin selepas log masuk
Salin selepas log masuk

Walaupun kaedah file_get_contents juga boleh digunakan untuk mendapatkan data permintaan GET, ia tidak disyorkan untuk digunakan dalam pembangunan sebenar kerana item konfigurasi allow_url_fopen perlu dihidupkan apabila menggunakannya.

Ringkasan

Di atas adalah beberapa kaedah biasa untuk mendapatkan tatasusunan JSON bahagian hadapan dalam PHP Antaranya, kaedah $_POST dan file_get_contents adalah lebih biasa Menggunakan $_GET untuk mendapatkan data JSON memerlukan pengekodan tambahan Dan operasi penyahkodan agak rumit. Dalam pembangunan sebenar, kita boleh memilih kaedah yang sesuai untuk mendapatkan tatasusunan JSON bahagian hadapan mengikut keperluan khusus untuk memproses data dengan lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan tatasusunan json frontend dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan