Javascript从外部PHP文件返回结果
这可能真的很简单,但我的大脑正在衰退 我有一段Javascript代码,它将一个“addressPoints”变量设置为JSON格式的信息,例如(两个不同的位置,使用lat/lng) 。。。但是,我没有手动向这个变量提供信息,而是使用了一个名为“getMarkers.PHP”的PHP文件,该文件可以生成一个较长的信息列表,其格式与我希望使用的格式完全相同 我的问题是,如何将Javascript变量“addressPoints”的内容设置为从“getMarkers.php”文件返回的结果?尝试使用JQuery Ajax:) 这个应该是这样的Javascript从外部PHP文件返回结果,javascript,php,openstreetmap,Javascript,Php,Openstreetmap,这可能真的很简单,但我的大脑正在衰退 我有一段Javascript代码,它将一个“addressPoints”变量设置为JSON格式的信息,例如(两个不同的位置,使用lat/lng) 。。。但是,我没有手动向这个变量提供信息,而是使用了一个名为“getMarkers.PHP”的PHP文件,该文件可以生成一个较长的信息列表,其格式与我希望使用的格式完全相同 我的问题是,如何将Javascript变量“addressPoints”的内容设置为从“getMarkers.php”文件返回的结果?尝试使用
$.getJSON("www.example.com/getMarkers.php", function(result) {
addressPoints = result;
});
您还可以创建一个标记,然后将PHP变量返回的内容存储在标记中,并使用JS:)中的'whatever'id调用其值
在您的PHP中:
。$variable.”
在您的JS中:
var newVar=$('#随便什么').val;
或者类似的东西:)希望这有帮助我目前已经使用以下代码解决了我的问题
$.ajax({
url: 'getMarkers.php',
dataType: 'json',
async: false,
success: function(data) {
addressPoints = data;
}
});
这让人觉得关闭异步有点像黑客,但它可以工作。。。这是最好的方法吗?这似乎不起作用(显然已经删除了www.example.com),因为代码应该起作用,但可能是因为它是异步代码。也就是说,在AJAX调用完成之前,您可能正在使用
addressPoints
进行操作。有没有办法绕过异步问题?可以强制同步。。还是其他解决办法?
$.ajax({
url: 'getMarkers.php',
dataType: 'json',
async: false,
success: function(data) {
addressPoints = data;
}
});