weixin_33717298 2018-01-23 14:41 采纳率: 0%
浏览 46

关于ajax将数据发布到PHP

I'm newbie to Ajax, I know when I want to pass data to PHP file I need to use Ajax, but I not sure the Ajax can use like what I coded. If can't, anybody can help me on this? Cause I want to use the html5 geolocation to get the user location. I tried geoplugin before but the IP I get always is the server IP not the user IP, I got try to ask here for the geoplugin but no work. I have tried this html5 geolocation to display my lon and lat, it is correct one, but I want to pass the variable to another PHP file for calculate the nearest distance with data get from MySQL.

In index.php

<script>
$(document).ready(function(){
if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showLocation);
} else { 
    $('#location').html('Geolocation is not supported by this browser.');
}
});

function showLocation(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
$.ajax({
    type:'POST',
    url:'index1.php',
    data:'latitude='+latitude+'&longitude='+longitude
    }
});
}
</script>

In index1.php

<?php
session_start();
$link=mysqli_connect("localhost","id2135226_ukwai1203","ukwai1203");
mysqli_select_db($link,"id2135226_demo");
$lat=$_POST['latitude'];
$lon=$_POST['longitude'];
$sql = "select branch_id,(6371 * 2 * ASIN(SQRT( POWER(SIN(($lat - 
branch_lat)*pi()/180/2),2)+COS($lat*pi()/180 
)*COS(branch_lat*pi()/180)*POWER(SIN(($lon-branch_lon)*pi()/180/2),2)))) 
as 
distance From Branch ORDER BY distance ASC LIMIT 1";
$res=mysqli_query($link,$sql);
while($row=mysqli_fetch_array($res)){
$_SESSION['location']=$row['branch_id'];
?>
<script>

window.location="http://ukwai1203.000webhostapp.com/fyp/user/shop.php";
</script>
<?php
}
?>
  • 写回答

1条回答 默认 最新

  • weixin_33716557 2018-01-23 15:08
    关注

    change your code to this:

    function showLocation(position) {
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;
    $.ajax({
       method:"POST",
        url:"index1.php",
        data:{
       latitude : latitude,
       longitude : longitude
        }
      });//ajax end
    
    }//function end
    

    Consider using IDE like eclipse to help you spot missing brackets etc. And when working by modifying old code check libraries versions like jquery version.

    评论

报告相同问题?