タイトルの通り、Ajaxでユーザ名とgoogle mapで取得した経度、緯度をPHPファイルに送り、そのPHPファイルからSQLを実行し、取得したユーザ名の経度緯度をupdateしたいと考えています。
以下のとおりajaxをコーディングしました。
javascript
1 $('#btn1').click(function(){ 2 3 var form = document.forms.myform; 4 navigator.geolocation.getCurrentPosition(initMap, error);//成功と失敗を判断 5 var hoge = `<?php echo h($login_user[user_name]); ?>`; 6 7 //緯度経度をDBに格納 8 9 function initMap(position) { 10 var latitude = position.coords.latitude;//緯度 11 var longitude = position.coords.longitude;//経度 12 var latlng = new google.maps.LatLng( latitude, longitude ); 13 var map = new google.maps.Map(document.getElementById('map'), { 14 zoom: 14, 15 center: latlng 16 }); 17 18 //マーカーの設定 19 var marker = new google.maps.Marker({ 20 position: latlng, 21 map: map, 22 icon: { 23 //url: sailboat_image, 24 scaledSize: new google.maps.Size(60, 60) 25 } 26 }); 27 28 29 30 31 function insert_latlng(){ 32 $.ajax({ 33 url: "set_latlng_test.php", 34 type: "POST", 35 datatype: "text", 36 data: { 37 "login_user" : hoge, 38 "latitude" : latitude, 39 "longitude" : longitude 40 }, 41 }).done(function(data){ 42 console.log(data); 43 console.log(hoge); 44 console.log("DB通信完了"); 45 }).fail(function(data){ 46 console.log("DB通信失敗"); 47 console.log(data); 48 }); 49 50 }; 51 insert_latlng(); 52 53 54 55 56 57 58 };
ボタン「btn2」をクリックするとajaxが発火する仕様です。
クリック後、doneの方が実行されたことが確認できますが、肝心のconsole.log(data);の結果が空白となっており、どうもデータが送れているようには見えません。
質問1:この画像からして、そもそもデータは送れてないという認識であってますか?
質問2:送れてない場合は、以降どのようなコーディング等で原因切り分けが必要でしょうか?
なにとぞご回答の程よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/16 02:46
2020/01/16 02:50
2020/01/16 03:44