JSからPHPとの連携する際にXMLHttpRequestを使用する方法もありますが、fetchを使った方法が記述が簡単だったのでfetchとXMLHTTPRequestを比べて紹介してみたいと思います。
XMLHttpREquestを使用した書き方
let url = '';
let request = new XMLHttpRequest();
request.onreadystatechange = () => {
if( request.readyState == 4 ) {
if( request.status == 200 ) {
console.log( request.response );
}
}
};
request.open( 'POST', url, true);
request.setRequestHeader( 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8' );
request.send('id=2&name=太郎');
fetchの場合
const data = {
method: 'POST',
headers: { 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8' },
body: 'id=2&name=太郎'
}
fetch( url, data )
.then( ( response ) => response.text() )
.then( (text) => console.log(text) )
通信を行うための情報の記載等かなり簡略化されています。
また、通信完了時の受けったデータについても処理が書きやすいです。
上の例ではPromiseを使用した書き方ですが、async awaitを使用した書き方も可能です。