[Vuejs]-PHP not detecting POST JSON data from JavaScript request

0đź‘Ť

âś…

Decode the JSON string at the PHP end before accessing values, like this:

<?php
    if(isset($_POST['saveData'])){
        $result = json_decode($_POST['saveData'], true);
        // use $result['saveMoney'] and $result['saveCrystals'] accordingly
    }
?>

Update# 1:

As OP commented below, I expect that it will print “SALO Ready” but it is instead doing nothing

That’s because you are not using responseText property of XMLHttpRequest object to see the text received from the server. Use below snippet to see the response text.

saloOut: function() {
    var saveData = {
        saveMoney: this.money,
        saveCrystals: this.crystals,
    };
    saveData = "saveData=" + (JSON.stringify(saveData));
    var sendData = new XMLHttpRequest();
    sendData.open("POST", "salo.php", true);
    sendData.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    sendData.send(saveData);

    sendData.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            alert(this.responseText);
        }
    };
}

Reference: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseText

Leave a comment