Вот, я получаю два массива json. Я вышел после первых данных json для предупреждения в ajax. Но когда я собираюсь предупредить вторые данные json, он показывает «undefined». Итак, как может быть предупреждено значение вторых данных json?

Мой код:

$data1['month_result'] = $user_wise_performance;
$data1['total_point'] = $total_point;
$data1['total_earn_point'] = $total_earn_point;
echo json_encode($data1);
exit();
$data2['week_month_result'] = $user_wise_performance;
$data2['week_total_point'] = $total_point;
$data2['week_total_earn_point'] = $total_earn_point;
echo json_encode($data2);
exit();

И вызов ajax похож на

jQuery.ajax({
    url: "grade_tasks/emp_performance",
    data:'',
    type:"GET",
    dataType: "json",
    success:function(data){

        alert(data.total_earn_point);
        alert(data.week_total_earn_point);  //This is not printing the value.

    },
    error:function (){}
});

(обновлено): Здесь, если я не вызываю exit (), я не получаю значение в ajax, Так в чем может быть проблема?

Ответы (1)

Вы должны удалить первый exit (); или удалить оба, я думаю, ваш код должен быть таким:

$data1['month_result'] = $user_wise_performance;
$data1['total_point'] = $total_point;
$data1['total_earn_point'] = $total_earn_point;
$data1['week_month_result'] = $user_wise_performance;
$data1['week_total_point'] = $total_point;
$data1['week_total_earn_point'] = $total_earn_point;

echo json_encode($data1);

Или попробуйте использовать многомерный массив, например @ Ohgodwhy, упомянутый в комментарии ниже:

$data = 
[
    'data1' => [ 
        'month_result' => $user_wise_performance,
        'total_point' => $total_point,
        'total_earn_point' => $total_earn_point
    ],
    'data2' => [ 
        'week_month_result' => $user_wise_performance,
        'week_total_point' => $total_point,
        'week_total_earn_point' => $total_earn_point
    ]
];

echo $data;

Надеюсь, это поможет.

2022 WebDevInsider