以下のようにオブジェクトを含む配列をJson形式でPHPに渡しているのですが、オブジェクトの'name'
キーの値にアクセスすることができません。具体的には//here
の箇所で空白が返されてしまいます。
実際にはajaxで.done()の結果を得たいというのではなく、php側でオブジェクトの特定のキーにアクセスして操作をしたいのですが、php側でjson_decode($get_data)
したうえで、$get_dataを返すとNull値が返ったり、やり方がわかりません。
どなたかアドバイスを頂けると幸いです。
javascript
1var data = []; 2var year = [2000,2001,2002]; 3var obj = {}: 4obj.name = "suzuki"; 5obj.age =33; 6 7data.push(year); 8data.push(obj); 9/* 10data=[[2000,2001,2002],{name:'suzuki',age:'33'}] 11*/ 12 13 $.ajax({ 14 url:'ajax.php', 15 method:"POST", 16 data:{ 17 'ip':'<?=$_SERVER["REMOTE_ADDR"]?>', 18 'data':data 19 }, 20 dataType: "json" 21 }).done((get_data, textStatus, jqXHR)=>{ 22 console.log(get_data);//here 23 })
php
1<?php 2$get_data = filter_input(INPUT_POST,'data', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY); 3header("Content-type: application/json;charset=UTF-8"); 4echo json_encode($get_data[1]['name']); 5//echo json_encode($get_data); この場合、きれいにそのままオブジェクトを含む配列を返してくれる 6?>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/01 14:17