Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax请求不指向URL_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript Ajax请求不指向URL

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

我一直在处理文档中的其他ajax请求,没有遇到任何问题。我想在用户加载文档时找到他们的坐标,然后将这些数据传递到其他方法以计算距离

我创建了一个javascript文档,它在
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
文件获取日志,请将AJAX
success
代码更改为
success:function(response){console.log(response);}
它工作正常吗?