안타깝게도 이러한 오류를 피하지 못했습니다. 새 버전을 완전히 다운로드하지 않고 웹페이지를 업데이트하려고 할 때 다른 사람들이 이러한 문제를 피하는 데 도움이 되기를 바랍니다. 내가 작성한 코드는 작동하는 것 같습니다.
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 스크립트를 호출합니다.
다음은 경험이 있는 사람에게는 이해가 되지 않을 수도 있지만 더 일찍 알았더라면 좋았을 몇 가지 경고입니다.
내가 위의 경고를 언급한 이유를 알고 싶은 분이 계시다면, 제가 저지른 실수와 이를 고치는 데 일주일이 걸렸는지에 대한 에세이를 작성해 보세요. 그러면 웃으면서 우월함을 느끼실 수 있습니다.
위 내용은 피해야 할 fetch() 및 XMLHttp 오류의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!