Mendapatkan data daripada fail PHP mengembalikan nilai nol
P粉617237727
2023-08-30 11:20:14
<p>Saya cuba menguji dan mempelajari cara pengambilan berfungsi jadi saya ingin menghantar beberapa data daripada javascript ke fail php, masalah saya ialah saya tidak boleh mendapatkan semula data (dalam fail php) dan hanya mendapat jawapan nol. </p>
<p>Saya menggunakan POST, tetapi saya cuba menggunakan GET dan mendapat keputusan yang sama</p>
<p>Sebagai nota sampingan, dalam konsol, sambungan dalam rangkaian hanya muncul selepas saya menekan F5, yang saya faham sepatutnya sudah berfungsi apabila saya membuka Test.php. </p>
<p><em><strong>datosJS.js</strong></em></p>
<pre class="brush:php;toolbar:false;">let data = {
kaedah: "POST",
tajuk: {
"Jenis kandungan" : "aplikasi/json"
},
badan: JSON.stringify({
nama pengguna:"Jonathan",
e-mel:"jonathan@gmail.com",
kata laluan:"123456"
})
}
fetch('Test.php',datos)
.then(resp => resp.text())
.then(resp =>{
console.log(resp);
})</pre>
<p><em><strong>Ujian.php</strong></em></p>
<pre class="brush:php;toolbar:false;"><script src="datosJS.js"type="text/javascript"></script> "datosJS.js" untuk menerima data di sini dalam Test.php
<?php
$body = json_decode(file_get_contents("php://input"), benar);
var_dump($body);
?></pra>
<p>Saya tahu bahawa PHP berada di bahagian pelayan dan JS berada di bahagian klien, dan kedua-duanya dijalankan pada masa yang berbeza, tetapi saya menghadapi masalah mencari penyelesaian kepada masalah ini. </p>
<p>Terima kasih atas bantuan anda! </p>
<p>** Mengedit perubahan kecil dalam pengambilan yang kini membolehkan saya melihat data dalam konsol</p>
Akhirnya saya berjaya menyelesaikan masalah, dijelaskan di bawah:
datosJS.js
test.php
Di bawah saya akan menandakan apa yang tiada dalam kod asal:
Dalam datosJS.js document.getElementById('results').innerHTML = resp; dan bungkus semuanya dalam window.onload = function() {}
Dalam Test.php tambahkan id="results" name="results" pada div, section atau kandungan lain yang diterima daripada innerHTML.
Saya harap ia membantu seseorang pada masa hadapan. Ceria