when ChatGPT failed to answer: local host failed to contain JavaScript session storage data into JSON object

40 views Asked by At

previously when running on Heroku, JavaScript session storage data was successfully extracted and stored as new properties into JSON object. When the code was moved to run on local, JavaScript session storage still managed to get data, but failed to wrap into JSON object

async function GenerateExcel() {
    let transferData = {}
    let qtyData = await propertiesData().then(qData => {return qData});
    transferData['qtyData'] = qtyData

    let checkerRateDataB = document.querySelector('#checkRateDataB')
    console.log("checkerRateDataB value:", checkerRateDataB.value);
    if(checkerRateDataB.value == 'on') {
        rateDataB = JSON.parse(sessionStorage.getItem("rateB"));
        console.log(rateDataB)
        transferData['rateDataB'] = rateDataB
    } else{
        transferData['rateDataB'] = null
    };

    let checkerRateDataU = document.querySelector('#checkRateDataU')
    console.log("checkerRateDataU value:", checkerRateDataU.value);
    if(checkerRateDataU.value == 'on') {
        rateDataU = JSON.parse(sessionStorage.getItem("rateU"));
        console.log(rateDataU);
        transferData['rateDataU'] = rateDataU
        console.log(transferData)
    } else{
        transferData['rateDataU'] = null
    };
}

with the above code, when it runs on local, the debug console result of the above as follow:

Promise.then (async)
UserLogin @ (index):496
onclick @ (index):115
(index):744 checkerRateDataB value: on
(index):747 {G30: 332.09413969373963, Half Brick: 85.33031153804188}
(index):754 checkerRateDataU value: on
(index):757 {G30: 380.65825214182524, Half Brick: 53.84233534844155}
(index):759 {qtyData: {…}, rateDataB: {…}, rateDataU: {…}}qtyData: {Wall: {…}, Slab Conc: {…}, Beam Conc: {…}, Column Conc: {…}, Floor: {…}}rateDataB: {G30: 332.09413969373963, Half Brick: 85.33031153804188}rateDataU: null[[Prototype]]: Object

while on Heroku, rateDataU was with similar information as rateDataB

Going through ChatGPT, it advised me to edit the entire code into this:

async function GenerateExcel() {
    let transferData = {}
    let rateDataB = {}
    let rateDataU = {}

    let qtyData = await propertiesData().then(qData => { return qData });
    transferData['qtyData'] = qtyData;

    let checkerRateDataB = document.querySelector('#checkRateDataB');
    console.log("checkerRateDataB value:", checkerRateDataB.value);
    if (checkerRateDataB.value == 'on') {
        rateDataB = JSON.parse(sessionStorage.getItem("rateB"));
        console.log("rateDataB:", rateDataB);
        transferData['rateDataB'] = rateDataB;
    } else {
        transferData['rateDataB'] = null;
    }

    let checkerRateDataU = document.querySelector('#checkRateDataU');
    console.log("checkerRateDataU value:", checkerRateDataU.value);

    if (checkerRateDataU.value == 'on') {
        rateDataU = await retrieveRateU(); // Await the asynchronous retrieval of rateU
        console.log("rateDataU:", rateDataU);
        transferData['rateDataU'] = rateDataU;
    } else {
        transferData['rateDataU'] = null;
    }
    console.log(transferData);

    // ... rest of your code
}

// Define an asynchronous function to retrieve rateU from sessionStorage
async function retrieveRateU() {
    return JSON.parse(sessionStorage.getItem("rateU"));
}

at the end of the day after running on local with the above code, we've come to the same result as above:

Promise.then (async)
UserLogin @ (index):496
onclick @ (index):115
(index):744 checkerRateDataB value: on
(index):747 {G30: 332.09413969373963, Half Brick: 85.33031153804188}
(index):754 checkerRateDataU value: on
(index):757 {G30: 380.65825214182524, Half Brick: 53.84233534844155}
(index):759 {qtyData: {…}, rateDataB: {…}, rateDataU: {…}}qtyData: {Wall: {…}, Slab Conc: {…}, Beam Conc: {…}, Column Conc: {…}, Floor: {…}}rateDataB: {G30: 332.09413969373963, Half Brick: 85.33031153804188}rateDataU: null[[Prototype]]: Object

All I wish is my baby code running well again... Anyone can share with me what are the potential issues, including any needs of installations to the environment or etc...

0

There are 0 answers