我在我的文档中一直在处理其他ajax请求,但我没有遇到任何问题。我想在加载文档时找到用户的坐标,然后将这些数据传递给其他方法来计算距离。
我已经创建了一个在index.php
加载时调用的javascript文档。这是功能:
function getCurrentLocation(username) {
var latitude = "";
var longitude = "";
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
latitude = position.coords.latitude;
longitude = position.coords.longitude;
console.log(latitude);
console.log(longitude);
sendCoords(latitude, longitude, username);
});
}
}
function sendCoords(lat, long, username){
$.ajax({
type: "POST",
url: "includes/handlers/ajax_update_loc.php",
data: "lat=" + lat + "&long=" + long + "&username=" + username,
success: function() {
console.log("UPDATE LOCATION");
}
});
}
我添加了一系列日志来跟踪逻辑,它按预期顺序工作。不会调用url文件ajax_update_loc.php
中的日志。
这是ajax_update_loc.php`文件:
<?php
include("../../config/config.php");
include("../classes/User.php");
$currentLoc = new User($con, $_REQUEST['username']);
$currentLoc->updateLocation($_REQUEST);
?>
<script>
console.log("OP")
</script>
<?php
?>
任何帮助将不胜感激!干杯!
答案 0 :(得分:1)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
function getCurrentLocation(username) {
var latitude = "";
var longitude = "";
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
console.log(latitude);
console.log(longitude);
});
}
}
function sendCoords(){
$.post("includes/handlers/ajax_update_loc.php",{latitude:latitude, longitude:longitude, username:username},function(data) {
console.log(data);
});
</script>
这里你可以在更新文件中用ajax发送参数然后你可以用它们来更新位置