Javascript jqueryajax将变量发布到php
我的ajax.php脚本Javascript jqueryajax将变量发布到php,javascript,php,jquery,ajax,w3c-geolocation,Javascript,Php,Jquery,Ajax,W3c Geolocation,我的ajax.php脚本 <?php $lat =$_POST['lat']; $lon = $_POST['lon']; echo $lat; echo $lon; ?> 还有我的新.html页面 <!DOCTYPE html> <html><head><script src="jquery-1.12.0.min.js"></script> </head> <body> <p>C
<?php
$lat =$_POST['lat'];
$lon = $_POST['lon'];
echo $lat;
echo $lon;
?>
还有我的新.html页面
<!DOCTYPE html>
<html><head><script src="jquery-1.12.0.min.js"></script>
</head>
<body>
<p>Click the button to get your coordinates.</p>
<input type="text" name="metin"/><br/>
<button onclick="getLocation()">Try It</button>
<p id="demo"></p>
<p id="demo1"></p>
<script>
var x = document.getElementById("demo");
var y = document.getElementById("demo1");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude + "<br>Longitude: " + position.coords.longitude;
var lon= position.coords.longitude;
var lat= position.coords.longitude;
y.innerHTML=lon;
x.innerHTML=lat;
$.ajax({
type: 'POST',
url: 'ajax.php',
data: { lat:lat, lon:lon}
success: function(result) {
$('#sonuc').html(result);
},
error: function() {
alert('Some error found. Please try again!');
}
});
}
}
</script>
<p id="sonuc"></p>
</body>
</html>
单击按钮获取您的坐标
试试看
var x=document.getElementById(“演示”);
var y=document.getElementById(“demo1”);
函数getLocation(){
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(showPosition);
}否则{
x、 innerHTML=“此浏览器不支持地理位置。”;
}
}
功能显示位置(位置){
x、 innerHTML=“Latitude:”+position.coords.Latitude+”
经度:“+position.coords.Longitude;
var lon=位置坐标经度;
var lat=位置坐标经度;
y、 innerHTML=lon;
x、 innerHTML=lat;
$.ajax({
键入:“POST”,
url:'ajax.php',
数据:{lat:lat,lon:lon}
成功:功能(结果){
$('#sonuc').html(结果);
},
错误:函数(){
警报('发现一些错误。请重试!');
}
});
}
}
首先,我知道有未使用的代码。但是我要用这个积木。
没有给我任何回应。我们必须成功地工作。
但在我的php页面中并没有给出lat和lon变量。
如果有另一种方法可以将变量发送到php页面,我可以试试。代码中没有功能问题。但是有一些语法错误阻止了ajax请求
- 避免在函数showPosition()下使用额外的右括号
- 在ajax请求的数据部分后添加逗号
var x=document.getElementById(“演示”);
var y=document.getElementById(“demo1”);
函数getLocation(){
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(showPosition);
}否则{
x、 innerHTML=“此浏览器不支持地理位置。”;
}
}
功能显示位置(位置){
x、 innerHTML=“Latitude:”+position.coords.Latitude+”
经度:“+position.coords.Longitude;
var lon=位置坐标经度;
var lat=位置坐标经度;
y、 innerHTML=lon;
x、 innerHTML=lat;
$.ajax({
键入:“POST”,
url:'ajax.php',
数据:{lat:lat,lon:lon},
成功:功能(结果){
$('#sonuc').html(结果);
},
错误:函数(){
警报('发现一些错误。请重试!');
}
});
}
您的ajax调用从未进行过,因为您有语法错误。您有一个额外的结束语}
,并且在数据:{lat:lat,lon:lon}
后缺少逗号,如果您打开浏览器控制台,您可能会注意到。@adeneo非常感谢您。我非常感谢。İt正在工作。再次感谢你。İ从1周开始处理。