无法弄清楚如何使用AJAX

时间:2017-08-04 08:50:12

标签: javascript jquery json ajax

我是JSON和AJAX的初学者。我有这个PHP文件与JSON数据对象,我想解析以从数组中获取特定的值。 例如,我想得到ID =" almCrit" :

这是我的JSON Obj:

$currentArrayData['configAlm'] = array(
  array('blocName' => 'blockAlarmeContent',     'blocLVTwoName' => 'boxLV2Content', 'label' => 'Criticité',         'id' => 'almCrit'),
  array('blocName' => 'blockAlarmeContent', 'blocLVTwoName' => 'boxLV2Content', 'label' => 'Sans supervision',  'id' => 'almSansSup'),
  array('blocName' => 'blockAlarmeContent', 'blocLVTwoName' => 'boxLV2Content', 'label' => 'Non nominale',      'id' => 'almNonNom)
);

以下是我试图做的事情:

$.ajax({
     url: 'Pages/index.php',
     type:  'get',
     dataType: 'json',
     data: 'action=loadBlocSite',
     success:function(data){                
        arrayOfData = data;         
        currentValue = arrayOfData;                        
        $.each(arrayOfData['configAlm'], function(currentIdx, currentValue){
            console.log('alarme : '+ arrayOfData['configAlm']);  
        });                 
    }
});

console.log('alarme : '+ arrayOfData['configAlm']);输出: -

  

alarme:[object Object],[object Object],[object Object]

我想获取第一个[object Object]

的ID

我试过这个console.log('alarme : '+ arrayOfData['configAlm'].id);,但它给了我

  

未定义

有人可以帮我弄清楚它是如何工作的吗?谢谢

2 个答案:

答案 0 :(得分:2)

实际上你在这里做的是你在array的每次迭代中打印.each,并且你试图访问{{1}的id属性}}

您需要记录array个内容而不是currentValue

arrayOfData

为了更好地了解这里发生了什么,你可以像这样打印数组的整个迭代元素:

$.each(arrayOfData['configAlm'], function(currentIdx, currentValue){
   console.log('blocName Id: '+ currentValue['blocName'].id);  
});

答案 1 :(得分:0)

此: -

$.each(arrayOfData['configAlm'], function(currentIdx, currentValue){
   console.log('alarme : '+ arrayOfData['configAlm']);  
});  

需要: -

$.each(arrayOfData['configAlm'], function(currentIdx, currentValue){
   console.log('Id : '+ currentValue.id);  
});  

您需要在那里使用currentValue

如果您想应用 某些条件检查 ,那么您可以执行以下操作: -

$.each(arrayOfData['configAlm'], function(currentIdx, currentValue){
   if(currentValue.id =="almCrit"){
     return false; // Will stop iteration immediately when id==almCrit
   } 
});  
相关问题