我想将变量从 JavaScript 传递给 PHP。我已经读过没有 AJAX 调用就无法做到这一点,或者将其放在 JavaScript 中的 URL 中,然后使用$_GET
. 问题是我的变量是在初始化时(在窗口加载时)创建的,所以如果我尝试$_GET
我会陷入无限循环。
变量是lati
和longi
。
这是我的 JavaScript(没有 AJAX 调用,因为它创建了一个无限循环等):
var map;
function initialize() {
var mapOptions = {
zoom: 12,
streetViewControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
// Try HTML5 geolocation
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = new google.maps.LatLng(position.coords.latitude,
position.coords.longitude);
var lati = position.coords.latitude;
var longi = position.coords.longitude;
map.setCenter(pos);
}, function() {
handleNoGeolocation(true);
});
} else {
// Browser doesn't support Geolocation
handleNoGeolocation(false);
}
var length = locationsArray.length, element=null;
for (var i = 0; i <length; i++)
{
element= locationsArray[i];
var element1 = element.split(";");
var posi = new google.maps.LatLng(element1[0],element1[1]);
var marker = new google.maps.Marker({
position: posi,
map: map,
icon: 'http://chart.apis.google.com/chart?chst=d_map_pin_letter_withshadow&chld='+i+'|e74c3c|333333',
url: 'index.php?id='+i+'#eventDetails'
});
google.maps.event.addListener(marker, 'click', function() {
window.location.href = this.url;
});
}
}
google.maps.event.addDomListener(window, 'load', initialize);
我想使用该变量的 PHP:
$url="http://build.uitdatabank.be/api/events/search?key=AEBA59E1-F80E-4EE2-AE7E-CEDD6A589CA9&latlng=".$lati.";".$longi."!10km&format=json";
$events= json_decode(file_get_contents($url));