Javascript Ajax请求不指向URL
我一直在处理文档中的其他ajax请求,没有遇到任何问题。我想在用户加载文档时找到他们的坐标,然后将这些数据传递到其他方法以计算距离 我创建了一个javascript文档,它在Javascript Ajax请求不指向URL,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我一直在处理文档中的其他ajax请求,没有遇到任何问题。我想在用户加载文档时找到他们的坐标,然后将这些数据传递到其他方法以计算距离 我创建了一个javascript文档,它在index.php加载时被调用。这就是功能: function getCurrentLocation(username) { var latitude = ""; var longitude = ""; if (navigator.geolocation) { navigator.geolocation.getCurre
index.php
加载时被调用。这就是功能:
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\u update\u 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
?>
控制台日志(“OP”)
任何帮助都将不胜感激!干杯
函数getCurrentLocation(用户名){
var纬度=”;
var经度=”;
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(函数(位置){
var pos={
纬度:位置坐标纬度,
lng:position.coords.longitude
};
变量纬度=位置坐标纬度;
var经度=position.coords.longitude;
控制台日志(纬度);
console.log(经度);
});
}
}
函数sendCoords(){
$.post(“includes/handlers/ajax_update_loc.php”,{纬度:纬度,经度:经度,用户名:用户名},函数(数据){
控制台日志(数据);
});
您在哪里定义long
?如果您添加console.log(“lat=“+lat+”&long=“+long+”&username=“+username”)
,是否将正确的数据打印到控制台?@code查看:这是sendCoords
函数的第二个正式参数。“url文件中的日志,ajax\u update\u loc.php不会被调用。”-仅仅因为你对某件事提出请求并不意味着它会被“执行”。到目前为止,您只请求了此文档,但没有对其进行任何处理。因此,如果您希望显示其中的HTML代码,并执行其中的JS代码,请研究您需要对AJAX请求的结果做些什么。我尝试了您的代码,它在我的机器上运行,PHP脚本会获取位置信息。您是否检查了浏览r控制台网络选项卡查看是否发送了AJAX请求?如果发送了,请检查PHP错误日志,可能代码正在生成错误并中止脚本的执行。要从AJAX\u update\u loc.PHP
文件获取日志,请将AJAXsuccess
代码更改为success:function(response){console.log(response);}
它工作正常吗?