将javascript变量发送到php脚本

将javascript变量发送到php脚本,javascript,geolocation,reverse-geocoding,Javascript,Geolocation,Reverse Geocoding,我使用谷歌的反向地理编码来查找用户的当前城市,我使用javascript来实现这一点。 有了这个名字之后,我想把这个变量发送到一个php文件中,这样我就可以使用这个国家或城市做其他事情 function displayLocation(latitude,longitude){ var request = new XMLHttpRequest(); var method = 'GET'; var url = 'http://maps.googleapis.com/maps

我使用谷歌的反向地理编码来查找用户的当前城市,我使用javascript来实现这一点。 有了这个名字之后,我想把这个变量发送到一个php文件中,这样我就可以使用这个国家或城市做其他事情

function displayLocation(latitude,longitude){
    var request = new XMLHttpRequest();

    var method = 'GET';
    var url = 'http://maps.googleapis.com/maps/api/geocode/json?latlng='+latitude+','+longitude+'&sensor=true';
    var async = true;

    request.open(method, url, async);
    request.onreadystatechange = function(){
      if(request.readyState == 4 && request.status == 200){
        var data = JSON.parse(request.responseText);
        var address = data.results[0];
        var city_name = address.formatted_address;
       // var count = results[0].address_components[1];
        var x = document.getElementById('out').innerHTML = city_name;
        alert('you are accessing us from : '+ city_name);
        $.ajax({
           url:"yourphp.php",
           type:"POST",
           async:false,
           data:{quantity:city_name}
        }).done(function(d){
           returnvariable =d;
        });

        }
    };
    request.send();
  };


  var successCallback = function(position){
    var x = position.coords.latitude;
    var y = position.coords.longitude;
    displayLocation(x,y);
  };
navigator.geolocation.getCurrentPosition(successCallback,errorCallback,options);

我获取的位置正确,但将其发送到我的php文件很困难。

我看不出您将其发送到php文件的方式有问题。可能问题出在PHP脚本中。它是从
$\u POST['quantity']
获取城市名称的吗?如果我回显$\u POST['quantity'];在php文件(yourphp.php)中,我没有看到任何东西。您在哪里查找它?您的
.done()
函数不会在任何地方显示响应。顺便说一句,您应该尽量避免使用
async:false
,它已被弃用。