Я пытаюсь опубликовать значения широты и долготы в файле php, где я могу сохранить их в переменной, а затем сохранить в базе данных. Но у меня возникли проблемы с передачей значений из js в файл php. Ниже выкладываю фрагменты. JavaScript находится в том же html-файле. Я также включил файл jquery в файл head.
function showPosition() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
$.ajax({
type: 'post',
url: 'a.php',
data: {
latitude: latitude,
longitude: longitude
},
success: function(data) {
console.info(data);
}
});
});
} else {
var latitude = "";
var longitude = "";
}
}<body onload = "showPosition();"></body>Теперь в файле "a.php" я пытаюсь сохранить эти значения в переменных.
$lat = $_POST['latitude'];
$long = $_POST['longitude'];
echo $lat;
echo $long;
Но значения не передаются из javascript в php. Где я ошибаюсь? Пожалуйста помоги.
1. Вы получаете сообщения об ошибках? - 2. Включен ли jQuery в ваш <head>? - 3. Код JS находится в вашем <head> или в вашем <body>?
Как выглядит var_dump($_POST)?
@MatthewPage var_dump($_POST) ничего не показывает
@ user3783243 где это сделать?
@Sv443 Sv443 Я получаю сообщение об ошибке POST 500. Внутренняя ошибка сервера. при отправке jquery.min.js. Также на Ajax jquery.min.js... jQuery включен в <head>. Код JS также находится в <head>
После var latitude = position.coords.latitude;. Если вы получаете 500, эта информация должна быть в вопросе вместе с тем, что содержится в вашем журнале ошибок и другими данными в вашем файле PHP.
хорошо, ребята, спасибо за помощь. Я понял, где ошибся. Я удалил скрипт из <head> и вставил его в <body>. Потом стал нормально работать.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Регистрирует ли
console.info(latitude)широту?