配列をPHP側にfetchで投げて、PHP側ではforeachで処理をしたいと思っていますが、
PHP側でエラーが出てしまいます。
以下、コードと試したことです。
■投げたい配列
["111.111.111.111", "222.222.222.222"]
■javascript側
console.log(this.addresses); const url = './edit_ip_done.php'; const data = this.addresses; const body = new FormData(); body.append("data",JSON.stringify(data)); body.append('id', this.id); fetch(url,{ method:"post", header: { 'Content-Type': 'application/json' // JSON形式のデータのヘッダー }, body }).then((res) => { return res.text(); }).then(data => { console.log(data); }).catch(error => { alert("登録に失敗しました。catch"); });
■PHP側
<?php ini_set('display_errors', "On"); $id = $_POST["id"]; $addresses = json_decode($_POST["data"], true); foreach($addresses as $address) { print($address); }
■出ているエラー
Warning: Invalid argument supplied for foreach()
こちらの $addressesをPHP側でprint_r( $addresses); すると何も出力されません。
php側を以下にすると
<?php $id = $_POST["id"]; $addresses = $_POST["data"]; print_r($addresses);
以下が出力されます。
[\"111.111.111.111\",\"222.222.222.222\"]
アドバイスいただけますと幸いです。
回答2件
あなたの回答
tips
プレビュー