jsonを使ってphp→javascriptの通信をしたのですが、どうも値がうまくわたってくれません。
php側を書き換えるのかjavascript側を書き換えるのかどちらかもわかりません。
別フォームで入力した緯度経度を[12.345, 23.456, 56.789]という風に取得したいのですがどうすればいいのでしょうか?
html
1<!DOCTYPE html> 2<html> 3<body> 4</body> 5<script type="text/javascript"> 6//マップ生成 7var map = L.map('map'); 8L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png', { 9 attribution: "<a href='https://maps.gsi.go.jp/development/ichiran.html' target='_blank'>地理院タイル</a>" 10}).addTo(map); 11map.setView([〇, 〇], 12); 12 13</script> 14 15<?php 16//DB接続 17$pdo = new PDO($dsn, $user, $password); 18 19//データベースに値を挿入 20 $sql="INSERT INTO lnglat (name, comment, ido, keido) VALUES (:name, :comment, :ido, :keido)"; 21 $stmt = $pdo->prepare($sql); 22 $params = array(':name' => $name, ':comment' => $comment, ':ido' => $latitude, ':keido' => $longitude); 23 $stmt ->execute($params); 24 25//確認のため表示 26$sql = 'SELECT * FROM lnglat'; 27$result = $pdo->query($sql); 28foreach($result as $row){ 29 echo $row['id'].': '; 30 echo $row['comment'].' '; 31 echo $row['ido'].' '; 32 echo $row['keido'].'<><>'; 33//json形式に変換 34 $phpjson=json_encode($row['ido']); 35//全てきちんと表示された(緯度:12.1234,56.7890など) 36 echo $phpjson.'<br>'; 37} 38 39?> 40 41<script type="text/javascript"> 42 43var test=JSON.parse('<?php echo $phpjson; ?>') 44 45//配列をすべて取得したいが取得できるのは最新投稿の1文字ずつ 46//例えば緯度:12.345と投稿した場合取得されるのは[1,2,.,3,4,5]など 47//最新投稿の1文字ずつが取得される 48for(var i=0;i<test.length;i++){ 49 console.log(test[i]) 50} 51 52console.log("log出力"); 53console.log(test); 54</script> 55</html>
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/19 04:40