PHPファイルからデータを取得するとnull値が返される
P粉617237727
2023-08-30 11:20:14
<p>フェッチがどのように機能するかをテストして学習しようとしているので、JavaScript から PHP ファイルにデータを送信したいのですが、問題は、(PHP ファイル内の) データを取得できず、ヌル応答。 </p>
<p>POST を使用していますが、GET を使用してみましたが、同じ結果が得られました</p>
<p>余談ですが、コンソールでは、F5 キーを押した後にのみネットワーク接続が表示されます。これは、Test.php を開いた時点ですでに機能しているはずです。 </p>
<p><em><strong>datosJS.js</strong></em></p>
<pre class="brush:php;toolbar:false;">let datos = {
メソッド: "POST"、
ヘッダー: {
"コンテンツタイプ" : "application/json"
}、
本文: JSON.stringify({
ユーザー名:「ジョナサン」、
電子メール:「jonathan@gmail.com」、
パスワード: "123456"
})
}
fetch('Test.php',datos)
.then(resp => resp.text())
.then(resp =>{
console.log(それぞれ);
})</pre>
<p><em><strong>Test.php</strong></em></p>
<pre class="brush:php;toolbar:false;"><script src="datosJS.js" type="text/javascript"></script> //これを呼び出して使用しますTest.php でデータを受信するための「datosJS.js」
<?php
$body = json_decode(file_get_contents("php://input"), true);
var_dump($body);
?></pre>
<p>PHP がサーバー側にあり、JS がクライアント側にあり、両方が異なる時間に実行されることはわかっていますが、この問題の解決策を見つけるのに苦労しています。 </p>
<p>ご協力いただきありがとうございます。 </p>
<p>** フェッチに小さな変更を編集し、コンソールでデータを表示できるようになりました</p>
最後に、以下で説明する問題を解決することができました。
datosJS.js
リーリーtest.php
リーリー以下に、元のコードに欠けている部分をマークします:
datosJS.jsdocument.getElementById('results').innerHTML = resp; で、すべてを window.onload = function() {} middle# でラップします。
id="results" name="results" を div、section、または innerHTML からの他のコンテンツに追加します。 。