【发布时间】:2015-07-10 22:01:13
【问题描述】:
我无法让以下代码在 PHP 中运行。我想检索用户位置,然后将其发送到我的 php 脚本以在服务器上进行进一步处理。 Php 不会检索数据。
编辑:
<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
</head>
<body>
<script>
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(successFunction, errorFunction);
} else {
alert('Geolocation is required for this page, but your browser doesn't support it. Try it with a browser that does, such as Opera 10.60.');
}
function successFunction(position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
var latlong = {"lat" : lat , "long" : long};
var latlong_encoded = JSON.stringify(latlong);
$.ajax({
url: 'PostTest.php',
type: 'POST',
data: {"userLocation" : latlong_encoded},
success: function(data) {
alert(latlong_encoded);
}
});
}
function errorFunction(position) {
alert('Error!');
}
</script>
</body>
</html>
这里是php代码:
<?php
$lat[]= array('coord'=>json_decode($_POST["userLocation"]));
print_r($lat);
?>
我只是得到一个空数组。 数组 ( [0] => 数组 ( [coord] => ) )
【问题讨论】:
-
“Php 不会检索数据”怎么办?
-
javascript 没问题 - 问题出在
Dataprocessing.php,或者,如果这是DataProcessing.php,您错误地认为发布到DataProcessing.php随后会导致 php 的 sn-p在底部做任何事情 -
两种方法我都试过了。最初有两个不同的脚本,其中 php 是 Data Processing.php。由于那不起作用,我尝试将其全部放在一个脚本中。我想那是错误的方法。但两者都不起作用,
-
在您的 PHP 中,您将 $lat 定义为数组两次。从 $lat 中删除 []
标签: javascript php ajax post location