是否有任何简单的方法可以在不使用查询字符串方法的情况下将数据从 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.'");
我知道如何在查询字符串进程中执行此操作,但我需要它而不需要查询字符串进程。
最佳答案
您可以使用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"];
...
关于javascript - 在不使用查询字符串的情况下将日期从 JavaScript 发送到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25468856/