想在javascript中从数组中获取价值

时间:2016-01-01 16:48:29

标签: javascript arrays ajax

在这里,我在javaScript ajax中获得了作为数组的价值。 我只想要一个数组的值。 我的阵列就像,

data:

monthArray
(
    [0] => Array
        (
            [Name] => abc
            [total_point] => 100
            [total_earn_point] => 0
        )

)
weekArray
(
    [0] => Array
        (
            [Name] => xyz
            [total_point] => 100
            [total_earn_point] => 0
        )

)

下面,

function emp_perf(){

            jQuery.ajax({
                url: "<?php echo base_url(); ?>grade_tasks/emp_performance",
                data:'',
                type:"GET",
                success:function(data){

                    alert(data[0]);

                },
                error:function (){}
                });
                }
               setInterval(emp_perf, 3000);

在这里,我无法取。 我希望数据为,在javascript变量中分开。

那么,如何在javascript中完成? 的(更新)

2 个答案:

答案 0 :(得分:0)

success:function(data){

   // Both the below method works.
   alert(data["monthArray"][0].name); // will alert abc
   alert(data["monthArray"][0]["total_point"]); // will alert 100

   // Loop through data[0]
   for(var i in data["monthArray"][0]){
    alert(data["monthArray"][0][i]); 
   }

},

<强>阐释:

您的数据是一个对象,因此您可以使用密钥访问其元素。 data.monthNamedata["monthName"],现在data.monthName是一个数组,您可以使用[]访问它的第一个元素是对象的值再次使用相同的符号来获取它值。

答案 1 :(得分:0)

将数据作为JSON返回,是在PHP和PHP之间进行交互的最佳方式。的JavaScript。然后,您可以使用JSON.parse将JSON转换为javascript对象/数组。

<强> PHP

<?php
//emp_performance
die(json_encode($dataArray));
?>

<强>的Javascript

function emp_perf(){

   jQuery.ajax({
       url: "<?php echo base_url(); ?>grade_tasks/emp_performance",
       data:'',
       type:"GET",
       success:function(data){

        data = JSON.parse(data);
        //you can use $.parseJSON(data) too since you are using jQuery

        console.log(data.MonthArray);
        console.log(data.MonthArray[0].Name);
        console.log(data.MonthArray[0].total_point);
        console.log(data.MonthArray[0].total_earn_point);

            console.log(data.WeekArray);
        console.log(data.WeekArray[0].Name);
        console.log(data.WeekArray[0].total_point);
        console.log(data.WeekArray[0].total_earn_point);

        },
        error:function (){}
    });
}
setInterval(emp_perf, 3000);