【发布时间】:2014-10-21 17:59:54
【问题描述】:
我不知道为什么我的代码不起作用,我正在尝试使用 AJAX 将坐标从 JavaScript 发送到 PHP,并且我能够将值从 JavaScript 提取到文本框,但值不会传递给 PHP。非常感谢任何帮助。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<script>
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
}
}
function showPosition(position) {
document.getElementById("getlat").value = position.coords.latitude;
document.getElementById("getlon").value = position.coords.longitude;
}
$( document ).ready(function() {
$.ajax({url:"samepage3.php",type:"POST",async:false,
data:{getlat:$("#getlat").val(),getlon:$("#getlon").val()}
});
});
</script>
</head>
<body onload="getLocation()">
<input type="text" id="getlat" name="getlat" />
<input type="text" id="getlon" name="getlon" />
<?php
if(isset($_POST["getlat"]))
{
$lat = $_POST["getlat"];
echo $lat;
}
if(isset($_POST["getlon"]))
{
$lon = $_POST["getlon"];
echo $lon;
}
?>
</body>
</html>
更新 1:
我在文件 samepage3.php 中运行此代码,我需要在同一页面上执行操作而不重新加载页面
【问题讨论】:
-
试试
data:{'getlat':$("#getlat").val(),'getlon':$("#getlon").val() -
PHP 只会在页面加载时执行。
-
没区别,还是和以前一样工作
-
@BernardoLima - 是的,我怎样才能让 JS 在 PHP 之前加载?
-
你的 PHP 需要在一个单独的页面上。
标签: javascript php jquery html ajax