残念なことに、私はこれらのエラーを回避できませんでした。これが、新しいバージョンを完全にダウンロードせずに Web ページを更新しようとする他の人がこの問題を回避するのに役立つことを願っています。私が最終的に完成したコードは機能するようです:
async function fetchDbSingle(url, str) { const dataToSend = str; console.log('fetchDbSingle: ' + str); try { const response = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: dataToSend }); if (!response.ok) { throw new Error('Network response was not ok'); } const data = await response.json(); return data; } catch (error) { console.error('Error fetching data:', error); throw error; // Re-throw the error to be handled by the caller } }
await は、非同期関数内で動作し、データにアクセスする前にデータが到着していることを確認します。通常のコードから非同期関数を呼び出す必要がある場合、構文は .then:
です。
fetchDbSingle(url, str).then(data => { console.log("Received data:", data); // Use the data here }).catch(error => { console.error("Error fetching data:", error); });
この特別な構文を使用せずにデータにアクセスしようとすると、データが到着する前にアクセスしているため、データは未定義になります。
マークされた場所以外のデータにアクセスしようとすると、データは未定義になります。
私のプログラムでは、fetch() がデータベースを読み取る PHP スクリプトを呼び出しています。
ここでは、経験豊富な人には意味がわからないかもしれないが、もっと早く知っていればよかったと思ういくつかの警告を示します。
私が上記の警告に言及した理由を知りたい人がいたら、私が犯した間違いと、それを修正するのにどのように 1 週間かかったのかについてエッセイを書くことができます。そうすれば、あなたは笑いながら優越感を感じることができます。
以上が回避すべき fetch() および XMLHttp エラーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。