現在、ajax通信を使ってjsの配列をphpに送ってそれをmysqlへ登録しようとしています。
ですが、phpファイルのほうで未定義の配列キーとなってしまいます。
同じような配列をformで送信した場合は、うまくいったので、その他の場所はうまく動いていると思います。
js
1コード 2$("#buybtn").on("click",function(event){ 3 $.ajax({ 4 type:"POST", 5 url:"buy.php", 6 data:JSON.stringify({"cartlist":cartList}), 7 dataType:"JSON" 8 }).done(function(data){ 9 console.log(data); 10 alert("購入しました。"); 11 }).fail(function(XMLHttpRequest,status,e){ 12 alert(e); 13 }) 14})
php
1コード 2require("manat/manat.php"); 3mb_internal_encoding("utf-8"); 4$pdo=new PDO("mysql:dbname=$dbname;host=$host;","$user","$pw"); 5 6$cartlist=$_POST['cartlist']; 7$json=json_decode($cartlist,true); 8 9foreach($json as $cart){ 10 foreach($cart as $c){ 11 $pdo->exec("insert into purchase 12values('".$c['id']."','".$c['goods']."','".$c['price']."','".$c['order']."');"); 13var_dump($c); 14} 15} 16 17 18 19header("Content-type: application/json; charset=utf-8"); 20echo json_encode($json); 21exit;
コードはこんな感じです。
宜しくお願いいたします。
回答1件
あなたの回答
tips
プレビュー