htmlから非同期で送信したオブジェクトをphpで受け取って処理をしたいと考えています。
色々試したのですが、オブジェクトを受け取ることができなかったので、
受け取り方(送り方にも問題?)をご教授ください。
phpがjsonオブジェクトを受け取って入るのかを確認するために
html側のコンソールにphp側の値を入れて確認しました。
実現したいconsole.log
json
1{ 2test: "aaaa" 3type: 4 a: "あああ" 5 b: "いい" 6}
現況のconsole.log
json
1{"test":"aaa","type":"[object Object]"} 2
コード
html側
html
1 2<!DOCTYPE html> 3<html lang="ja"> 4<head> 5 <meta charset="UTF-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 8 <title>Document</title> 9</head> 10<body> 11</body> 12<script src="https://unpkg.com/axios/dist/axios.min.js"></script> 13<script> 14 (()=>{ 15 let params = new URLSearchParams(); 16 params.append('test', "aaa"); 17 params.append('type', { 18 "a":"ああ", 19 "b":"いい", 20 }); 21 this.axios.post('./test.php',params 22 ) 23 .then((response)=>{ 24 console.log(response.data); 25 }) 26 .catch((e)=>{ 27 console.log(e); 28 }) 29 })(); 30 31</script> 32</html> 33コード
php側
php
1 2header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE"); 3header("Content-type:application/json"); 4 5 6$test = json_encode($_POST); 7 8if(isset($_POST['test'])){ 9 echo json_encode($test); 10} 11 12
###試したこと
いろいろなサイトで「filter_input」を使用するあったので
下記コードにしましたが結果は変わりませんでした。
php
1<?php 2header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE"); 3header("Content-type:application/json"); 4if(isset($_POST['test'])){ 5 $test = filter_input(INPUT_POST, 'test'); 6 $type = filter_input(INPUT_POST, 'type'); 7 $json = [$test,$type]; 8 echo json_encode($json); 9} 10?>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/15 01:15
2021/07/15 01:27
2021/07/15 01:38
2021/07/15 01:43