有没有简单的方法可以在不使用查询字符串方法的情况下将数据从JavaScript传递到PHP。
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
}
}
function showPosition(position) {
document.getElementById("getlat").value = position.coords.latitude;
document.getElementById("getlon").value = position.coords.longitude;
}
HTML
<input type="hidden" id="getlat" name="getlat" value="<?php echo $_SESSION['polat']; ?>" />
<input type="hidden" id="getlon" name="getlon" value="<?php echo $_SESSION['polon']; ?>" />
PHP代码
$lat = '-27.486204'; // Should get latitude from JS here.
$long = '152.994962'; // Should get longitude from JS here.
mysqli_query("SELECT * From `table_nme` where `latitude`='.$lat.' AND `longitude`='.$long.'");
我知道如何在Query String Process中执行此操作,但我需要它而不使用Query String Process。
答案 0 :(得分:1)
您可以使用 ajax(jquery)将数据发送到服务器。
JS
$.ajax({url:"yourfile.php",type:"POST",async:false,
data:{getlat:$("#getlat").val(),getlon:$("#getlon").val()}
});
PHP
$lat = $_POST["getlat"];
$lon = $_POST["getlon"];
...
另一种解决方案是使用cookie。我个人使用this来获取/设置我的cookie:
JS
....
$.cookie("data",{getlat:$("#getlat").val(),getlon:$("#getlon").val()});
PHP
$data = json_decode($_COOKIE["data"]);
$lat = $data["getlat"];
$lon = $data["getlon"];
...