Ralat yang dihadapi: Mencuba mendapatkan data Json menggunakan PHP pada persediaan pelayan cPanel
<p>Saya mempunyai fail index.html yang mengandungi javascript: </p>
<pre class="brush:php;toolbar:false;">async function fetchCelebritiesData() {
cuba {
respons const = tunggu fetch('/data.php');
data const = menunggu respons.json();
mengembalikan data;
} tangkap (ralat) {
console.error('Ralat mengambil data:', ralat);
kembali [];
}
}</pre>
<p>Fail PHP menyambungkan data kepada aplikasi dan mendapatkan data daripada fail names.json. </p>
<pre class="brush:php;toolbar:false;"><?php
// Semak sama ada permintaan itu datang daripada domain yang dibenarkan
$allowedOrigins = array("example.com", "www.example.com");
$origin = $_SERVER['HTTP_ORIGIN'] ?? ''; // Dapatkan HTTP_ORIGIN daripada permintaan
if (in_array($origin, $allowedOrigins)) {
header("Access-Control-Allow-Origin: $origin");
} lain {
header("HTTP/1.1 403 Dilarang");
keluar;
}
//Baca dan keluarkan data JSON
$data = file_get_contents("data.json");
header("Content-Type: application/json");
echo $data;
?></pra>
<p>Tetapan ini memberi saya ralat dalam konsol dengan mesej ralat berikut: </p>
<pre class="brush:php;toolbar:false;">ET https://example.com.com/data.php 403
fetchCelebritiesData @ (indeks):291
(tanpa nama) @ (indeks):375
beban (async)
(tanpa nama) @ (indeks):373
(indeks): 295 Ralat semasa mengambil data: SyntaxError: Penghujung input JSON yang tidak dijangka
di fetchCelebritiesData ((index):292:33)
pada async (indeks):375:30
fetchCelebritiesData @ (indeks):295
tunggu dalam fetchCelebritiesData (async)
(tanpa nama) @ (indeks):375
beban (async)
(tanpa nama) @ (indeks):373</pre>
<p>Perlukan bantuan memahami isu yang mungkin berlaku. Saya telah menyemak kebenaran pada fail dan folder PHP dan JSON dan semuanya kelihatan baik. --6 4 4--</p>
<p>Log telah dijana menunjukkan berulangnya ralat ini. </p>
<p><kod>[11-Ogos-2023 09:08:58 UTC] Notis PHP: Indeks tidak ditentukan: HTTP_ORIGIN dalam /home/pixellic/public_html/web-applications/celebrities-age-finder/get_secure_data.php pada baris 4</kod></p>
<p>Saya baru dalam pengekodan. </p>
<p>Terima kasih. </p>
<p>Saya cuba mendapatkan data json dengan selamat menggunakan fail php. </p>
<p>Tetapi saya mendapat ralat 403. </p>