Ajax запрос и в ответе забрать знаение сессии

мастера). Такая проблема. Есть аякс запрос на сервер:

function ataka(){
        $.ajax({
            type: 'GET',
            url: '../request/start.php?ataka',
            success: function(data){
                document.getElementById('hp').textContent = data;
            }
        });
    }

Сам код на сервере:

    if(isset($_GET['ataka'])){
    $ataka = rand(5,10);
    $mob_ataka = rand(1,5);
    $_SESSION['mob_hp'] = $_SESSION['mob_hp'] - $ataka;
    $_SESSION['user_hp'] = $_SESSION['user_hp'] - $mob_ataka;
    echo $_SESSION['mob_hp'];
    echo $ataka;
    }

В ответ я получаю сразу два значения в одной переменной. Как разделить? Что бы $_SESSION['mob_hp']; улетело в один блок, а $ataka; в другой блок?


Ответы (1 шт):

Автор решения: Алексей Шиманский
  • у ajax поставить ожидание типа ответа json, то есть добавить dataType: 'json'

  • в ответе на сервере слать json, то есть

    echo json_encode(['mob_hp' => 111, 'user_hp' => 222]);
    exit();
    
  • и в получении данных писать уже:

    document.getElementById('hp').textContent = data.user_hp;
    document.getElementById('smthElse').textContent = data.mob_hp;
    
→ Ссылка