XMLHttpRequest による通信デモ
JavaScript コード
const request = new XMLHttpRequest();
request.open("GET", url, true);
request.onload = async () => {
const contentType = request.getResponseHeader("Content-Type");
log(`→ response.status: ${request.status}`);
log(`→ Content-Type: ${request.getResponseHeader("Content-Type")}`);
const profile = JSON.parse(request.responseText);
displayUserProfile(profile);
};
request.onerror = async (event) => {
await sleep(ms);
if (errorType === "status") {
log("エラー発生: HTTPステータスエラー");
} else if (errorType === "invalidjson") {
log("エラー発生: JSON形式ではないレスポンス");
} else {
log("エラー発生: 通信に失敗しました(ネットワーク不通など)");
}
};
request.onloadend = async () => {
log("通信処理完了");
};
request.send();
PHP コード(user_profile.php)
<?php
sleep(5);
if (isset($_GET['raw'])) {
header('Content-Type: text/plain');
echo "これはJSONではありません";
exit;
}
header('Content-Type: application/json');
echo json_encode([
"name" => "増田健人",
"email" => "masuda@example.com",
"age" => 28
]);
?>