fetchの基本と概要
fetchは, XHR, $.ajaxなどと同様の非同期通信技術である。
2022年現在においてServiceWorkerの台頭と共に主流になっていく可能性がある。
fetchはPromiseやServiceWorkerとの相性が良いとのこと。
Demo
HTML
<button type="button" onclick="test1()" >Test1</button><br>
<div id="res"></div>
JavaScreipt
function test1(){
$('#res').html('abc');
fetch("./backend.php")
.then(response => {
console.log('response');
console.log(response);
return response.json();
})
.then(data => {
console.log('data');
console.log(data);
$('#res').html(JSON.stringify(data));
})
.catch(error => {
console.log(error);
console.log("失敗しました");
});
}
PHP(backend.php)
<?php
//データ加工や取得
$res = ['success'=>1,'yagi'=>'山羊','kani'=>'蟹','same'=>'鮫'];
// JSONに変換し、通信元に返す。
$json_str = json_encode($res, JSON_HEX_TAG | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_HEX_APOS);
echo $json_str;