将javascript变量发送到php脚本
我使用谷歌的反向地理编码来查找用户的当前城市,我使用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
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
,它已被弃用。