JSからJSON形式のデータをfetchで投げてPHPで受け取り、PHPから返してJSで受け取る方法
2026/10/04
JavaScriptからPHPに対してJSON形式のデータをfetch通信でリクエストし、PHP側で何らかの処理をした後、JavaScriptに返したい。よくやる処理ではあるんだけどまとめていなかったのでメモ。
ソースコード
JavaScript側
const url = 'https://test.com/';
const data = {id: 1, name: '山田'};
fetch(url, {
method: 'POST',
data: JSON.stringify(data)
})
.then( (response) => {
if (!response.ok) {
throw new Error(response.status);
}
return response.json();
})
.then( (result) => {
// 何らかの処理
})
.catch((error) => {
console.error(`error: ${error}`);
});
PHP側
<?php
$data = json_decode(file_get_contents('php://input'), true);
// 何らかの処理
$result = [
'status' => 'success',
];
header('Content-Type: application/json; charset=utf-8');
echo json_encode($result);
exit();
その他
GETでリクエストしたい場合
JavaScript側は以下で送信して、PHP側は「$_GET」で受け取るだけ。
// GET送信の場合
const data = new URLSearchParams({
id: 1,
name: '山田'
});
const url = `https://test.com/?${data.toString()}`;
fetch(url, {})
.then( (response) => {
if (!response.ok) {
throw new Error(response.status);
}
return response.json();
})
.then( (result) => {
// 何らかの処理
})
.catch((error) => {
console.error(`error: ${error}`);
});
PHP間でデータを送受信したい場合
PHP間でデータを送受信したい場合は過去記事を参照。
関連記事
-
-
JavaScriptでUNIXタイムスタンプ取得
UNIXタイムスタンプを用いた際、 年月日からすぐUNIXタイムスタンプを出した ...
-
-
JavaScriptでFlashのバージョンを取得する方法
Flashのバージョン取得をjavascriptで行うソースコードのを以下にメモ ...
-
-
指定した要素に注釈を設定できる「Chardin.js」プラグインの利用方法
指定した要素に注釈を入れることができるjQueryプラグイン「Chardin.j ...
-
-
JavaScriptで数値のカンマ区切り化とカンマ区切りの解除
JavaScriptで数値を3桁ごとにカンマ区切り化したい。また、それとは逆にカ ...
-
-
CKEditor(WYSIWYGエディタ)の設置方法と日本語化
今までWYSIWYGエディタを導入する際はNicEditを使用していたが、あんま ...