PHPから返ってきた結果ををreturnしたいときなど、どうしても非同期ではなく同期通信でやりたいとき用です。
下記のようにXMLHttpRequestのrequest.openの第三引数をfalseにすることで同期通信が可能です。
const request = new XMLHttpRequest();
const filepath = 'file.php';
const data1 = 'data1';
const data2 = 'data2';
const parameter = {
data1: data1,
data2: data2
};
request.open('POST', filepath, false);
request.send(JSON.stringify(parameter));
if (request.status == 200){
const data = JSON.parse(request.responseText);
if(data){
//PHPからデータが受信できたとき
}else{
//PHPからデータが受信できなかったとき
}
}