将Javascript GetElementById变量传递给Ajax
如何将Javascript变量传递给Ajax,然后将其发布到php。Javascript代码和PHP代码工作正常,但问题是将Javascript变量传递给Ajax以发布到PHP。我的代码在下面将Javascript GetElementById变量传递给Ajax,javascript,ajax,google-maps,Javascript,Ajax,Google Maps,如何将Javascript变量传递给Ajax,然后将其发布到php。Javascript代码和PHP代码工作正常,但问题是将Javascript变量传递给Ajax以发布到PHP。我的代码在下面 <!-- User Location --> <script> window.onload = function() { var startPos; var geoSuccess = function(position) { startPos =
<!-- User Location -->
<script>
window.onload = function() {
var startPos;
var geoSuccess = function(position) {
startPos = position;
document.getElementById('startLat').innerHTML = startPos.coords.latitude;
document.getElementById('startLon').innerHTML = startPos.coords.longitude;
$.ajax({
type: 'POST',
url: 'MyDashboard.php',
data: 'latitude='+latitude+'&longitude='+longitude,
success: function(msg) {
if (msg) {
$("#location").html(msg);
} else {
$("#location").html('Not Available');
}
}
});
};
navigator.geolocation.getCurrentPosition(geoSuccess);
};
</script>
window.onload=函数(){
var startPos;
var geoSuccess=函数(位置){
startPos=位置;
document.getElementById('startAt').innerHTML=startPos.coords.latitude;
document.getElementById('starton').innerHTML=startPos.coords.longitude;
$.ajax({
键入:“POST”,
url:'MyDashboard.php',
数据:“纬度=”+纬度+”&经度=”+经度,
成功:函数(msg){
如果(msg){
$(“#位置”).html(msg);
}否则{
$(“#位置”).html('不可用');
}
}
});
};
navigator.geolocation.getCurrentPosition(geosucces);
};
您应该将数据作为对象传递,如数据:{纬度:纬度,经度:经度}
<script>
window.onload = function() {
var startPos;
var geoSuccess = function(position) {
startPos = position;
document.getElementById('startLat').innerHTML = startPos.coords.latitude;
document.getElementById('startLon').innerHTML = startPos.coords.longitude;
$.ajax({
type: 'POST',
url: 'MyDashboard.php',
data: {latitude: startPos.coords.latitude, longitude: startPos.coords.longitude },
success: function(msg) {
if (msg) {
$("#location").html(msg);
} else {
$("#location").html('Not Available');
}
}
});
};
navigator.geolocation.getCurrentPosition(geoSuccess);
};
</script>
window.onload=函数(){
var startPos;
var geoSuccess=函数(位置){
startPos=位置;
document.getElementById('startAt').innerHTML=startPos.coords.latitude;
document.getElementById('starton').innerHTML=startPos.coords.longitude;
$.ajax({
键入:“POST”,
url:'MyDashboard.php',
数据:{纬度:startPos.coords.lation,经度:startPos.coords.longitude},
成功:功能(msg){
如果(味精){
$(“#位置”).html(msg);
}否则{
$(“#位置”).html('不可用');
}
}
});
};
navigator.geolocation.getCurrentPosition(geosucces);
};
然后输入php代码,比如
$\u POST['latitude']
和$\u POST['longitude']
将错误的数据发送到AJAX POST方法
数据:{“纬度”:纬度,“经度”:经度}
在哪里发送AJAX
数据:“纬度=”+纬度+”&经度=”+经度
或者您可以在URL中添加它们
url:'MyDashboard.php?纬度='+纬度+'&经度='+经度
这也会起作用,但是需要在php中使用$\u GET而不是$\u POST问题在于
纬度
和经度
变量不存在
请尝试以下代码:
<!-- User Location -->
<script>
window.onload = function() {
var geoSuccess = function(position) {
document.getElementById('startLat').innerHTML = position.coords.latitude;
document.getElementById('startLon').innerHTML = position.coords.longitude;
$.ajax({
type: 'POST',
url: 'MyDashboard.php',
data: 'latitude=' + position.coords.latitude+ '&longitude=' + position.coords.latitude,
success: function(msg) {
if (msg) {
$("#location").html(msg);
} else {
$("#location").html('Not Available');
}
}
});
};
navigator.geolocation.getCurrentPosition(geoSuccess);
};
</script>
window.onload=函数(){
var geoSuccess=函数(位置){
document.getElementById('starttat').innerHTML=position.coords.latitude;
document.getElementById('starton').innerHTML=position.coords.longitude;
$.ajax({
键入:“POST”,
url:'MyDashboard.php',
数据:“纬度=”+位置.坐标.纬度+”&经度=”+位置.坐标.纬度,
成功:功能(msg){
如果(味精){
$(“#位置”).html(msg);
}否则{
$(“#位置”).html('不可用');
}
}
});
};
navigator.geolocation.getCurrentPosition(geosucces);
};
通过调用这些变量
$\u POST['latitude']
和$\u POST['longitude']
来检索PHP端的变量
但只是
data:`latitude=${startPos.coords.latitude}和longitude=${startPos.coords.longitude}`
您正在传递未定义的变量。请试试这个:
$.ajax({
type: 'POST',
url: 'MyDashboard.php',
data: {
latitude: startPos.coords.latitude,
longitude: startPos.coords.longitude
},
success: function(msg) {
// your logic
});
您尚未为
纬度
或经度
定义变量。检查您的浏览器开发工具控制台是否存在错误以及如何执行?这就是我想要的actualy@AlbertN.Ntshalintshali当您设置innerHTML时,您得到了正确的结果……将字符串传递给数据
本身并没有什么错误。是的,一个对象更简单,但是$。ajax
将处理这两个问题