javascript中全局数组的设置值 $(文档).ready(函数(){ var currray=null; var组=null; var admin=null; var设备=空; var student=null; log(“获取阵列信息后”); 对于(var i=0;i
问题在于javascript中全局数组的设置值 $(文档).ready(函数(){ var currray=null; var组=null; var admin=null; var设备=空; var student=null; log(“获取阵列信息后”); 对于(var i=0;i,javascript,jquery,arrays,Javascript,Jquery,Arrays,问题在于$。post是异步的(请参阅)。因此,当脚本尝试访问设备变量时,该变量尚未初始化。您可能希望将代码放入$。post回调中: $(document).ready(function(){ var currArray=null; var group=null; var admin=null; var equipment=null; var student=null; console.log("after get array info"); for(var i=0; i<equipment
$。post
是异步的(请参阅)。因此,当脚本尝试访问设备
变量时,该变量尚未初始化。您可能希望将代码放入$。post
回调中:
$(document).ready(function(){
var currArray=null;
var group=null;
var admin=null;
var equipment=null;
var student=null;
console.log("after get array info");
for(var i=0; i<equipment.length; i++)
{
console.log("equipment at index after get array info: "+i+" val: "+equipment[i]);
}
setArray();
console.log("finished initial");
function getArrayInformation()
{
console.log("Get array information");
//equipment=new Array("Item ID", "Model", "Series", "Manufacturer");
$.post("Search", function(response)
{
console.log("back from Search AJAX");
$.each(response, function(index, val)
{
console.log("index of .each for Search AJAX response: "+index+" value of this: "+val);
jsonParse(index, val);
});
});
}
function jsonParse(index, val)
{
if(index == "equipment")
{
console.log("setting equipment array");
equipment = val.split(",");
console.log("equipment array after creating it");
for(var i=0; i<equipment.length; i++)
{
console.log("equipment at index: "+i+" val: "+equipment[i]);
}
}
else if(index == "student")
{
student = val.split(",");
}
else if(index == "group")
{
group = val.split(",");
}
else if(index == "admin")
{
admin = val.split(",");
}
}
$.post(“搜索”),功能(响应){
log(“从搜索AJAX返回”);
$。每个(响应、函数(索引、val){
log(“每个搜索AJAX响应的索引:“+index+”此值:“+val”);
jsonParse(索引,val);
//下面是您的代码
对于(var i=0;iequipment.length
将通过一个错误,因为它为空。这是setArray
函数的哪里?这是最常见的javascript问题之一的副本。我将去看看是否可以找到最常见的问题,将其标记为dup of。Ajax调用在getArrayInformation()之后很长一段时间后完成
returns。使用返回数据的唯一位置是成功处理程序或从那里调用的函数中,因为此时您才知道数据确实在那里。setArray在代码中的位置较低,但我觉得它与此问题不太相关。哦,对了,我完全忘了AJAX是异步的!Doh!谢谢!
$.post("Search", function(response) {
console.log("back from Search AJAX");
$.each(response, function(index, val) {
console.log("index of .each for Search AJAX response: "+index+" value of this: "+val);
jsonParse(index, val);
// Your code below
for(var i=0; i<equipment.length; i++) {
console.log("equipment at index after get array info: "+i+" val: "+equipment[i]);
}
});
});