ユーザーの現在地を取得しようとしています。AJAXを使用してJS変数をPHPに渡すことができません
私は現在の緯度と経度を取得するJSスクリプトを持っています。これは、AJAXでjs変数をindex.phpに送信します。
$(document).ready(function() {
if ("geolocation" in navigator){
navigator.geolocation.getCurrentPosition(function(position){
var userLat = position.coords.latitude;
var userLong = position.coords.longitude;
console.log(userLong);
console.log(userLat);
$.ajax({
type: 'POST',
url: 'index.php',
data: {
userLat : userLat,
userLong : userLong
},
success: function(data)
{
console.log(data);
}
});
});
}else{
console.log("Browser doesn't support geolocation!");
}});
それから私は私のindex.phpでこれを行うにしようとしています:
echo $_POST['userLat'];
echo $_POST['userLong'];
何も現れません。前もって感謝します。
ブラウザのデバッグツールで、コンソールにエラーがありますか?どのネットワーク要求が行われ、どのようなデータがその要求に含まれていますか?あなたがデバッグすると、AJAXの呼び出しはまったく行われますか?サーバーの応答は正確には何ですか? – David
正しい出力を示します。 console.log(userLong); console.log(userLat); 他には何もエラーはありません。また、コンソール、ログ(データ)はページコード全体を表示しますが、私はなぜそれがわかりません。 –
それは、そのAJAXリクエストによって返されたものを示しています。 'index.php'がページ全体を返すと、ページ全体が表示されます。あなたはAJAXの値を正確にどこで探していますか?コンソールログの応答を確認していませんか? – David