Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从JS获取变量_Javascript_Ajax - Fatal编程技术网

Javascript 从JS获取变量

Javascript 从JS获取变量,javascript,ajax,Javascript,Ajax,我在中有以下代码,其中包含我需要获取的变量(emp.longitude和emp.longitude): $(文档).ready(函数(){ $.ajax({ async:false, url:'GetRecords.asmx/GetValues', 数据类型:“json”, 方法:“post”, 成功:函数(数据){ var employeeTable=$(“#TblemployeeTbody”); employeeTable.empty(); $(数据)。每个(函数(索引,emp){ emp

我在
中有以下代码,其中包含我需要获取的变量(
emp.longitude
emp.longitude
):


$(文档).ready(函数(){
$.ajax({
async:false,
url:'GetRecords.asmx/GetValues',
数据类型:“json”,
方法:“post”,
成功:函数(数据){
var employeeTable=$(“#TblemployeeTbody”);
employeeTable.empty();
$(数据)。每个(函数(索引,emp){
employeeTable.append(“”)
+经纬度+经度+经度;
});  
},  
错误:函数(err){
警报(err+“失败”);
}  
});  
});  
在a
a中,有另一个脚本,我需要在其中使用这些变量:


var mymap=L.map('mapid').setView([38.8,-94.8],5);
//需要在下面使用它们(经度和纬度)
L.marker([经度,纬度],{icon:truckIcon}).addTo(mymap).bindPopup(“我在这里!”);
var popup=L.popup();
函数onMapClick(e){
弹出窗口
.setLatLng(即latlng)
.setContent(“您在“+e.latlng.toString()处单击了地图”)
.openOn(mymap);
}
mymap.on('click',onmaclick);
我已经有了一个表,可以在


如何在asp.net中使用ajax检索数据
纬度
经度

我如何从头部的函数中获取这些变量,并在身体的另一个脚本中使用它们。谢谢

将值分配给var,它们将被提升

var latitude = 0;
var longitude = 0;
稍后在你的采访中

latitude = emp.latitude;
longitude = emp.longtitude;

如果没有,则必须按照注释所说的操作,并创建一个特殊函数来获取值。您可以在这里使用提升,只要您不经常这样做,您就不会有问题,不管名称空间受到什么污染。

您只需将它们放在两个代码部分都可以访问的地方

较高的范围是全局范围。如果您只是在
$(document).ready(function()
上面放置两个变量,那么在代码的后面部分可以访问它们。 然而,这是不受欢迎的。由于可能会干扰其他可能运行的js代码,所以污染全局范围从来都不是一个好的做法

正确的方法是找到一个双方都可以访问的方便对象。最明显的答案是
document
object

照办

document.latitute = emp.latitude;
document.longitude = emp.longitude;
甚至更好

document.myProject = { lat: emp.latitude, lon: emp.longitude}; 
在代码的成功部分,vars将在后面的部分中被访问。
您也可以使用任何DOM的节点来存储和访问变量。

这些snipplet实际上应该是代码块,因为它们不是真正可运行的。那么它应该如何工作呢?您需要在第一块代码完成后执行第二块代码。因此,将其设为函数并用数据调用。@Luca但是OP使用的是
async:false,
这是一个坏主意…所以这会起作用,只是不是一个好主意。所以如果他把它放在成功方法中,它会失败吗?我的建议是跟踪它,看看它在哪里可用。