Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Promise e Fetch cosa sbaglio?

    Ciao a tutti
    Devo effettuare dei passaggi dati con una promise in una API fetch ho fatto in questo modo:

    codice:
    async function xhttp(url, obj){
        let response = await fetch(url, {
            method: "POST",
            headers: new Headers({
                "Content-Type": "application/json"
            }),
            body: JSON.stringify(obj)
        }).then(response => {
            if(response.ok){
                let dts = response.json();
                return dts;
            }
        }).catch(error => { console.log(error) });
    }
    
    const raceSearch = document.querySelector("input[name=race_search]");
    raceSearch.addEventListener("keyup", raceSelect);
    function raceSelect(){
    let myPromise = new Promise(function(resolve){
    let val = this.value;
    var obj = {
    "catSearch": document.querySelector("input[name=cat_search]").value,
    "catRace": val
    };
    resolve(xhttp("/scr/search.php", obj));
    });
    
    
    myPromise.then(
    function(response) {
    alert(response);
    }
    );
    }
    in PHP ho fatto un semplice script solo per verificare:
    Codice PHP:
    $obj json_decode($_POST["obj"], true);
    $catSearch $obj["catSearch"];
    $catRace $obj["catRace"];
    $newjson = [    "Search" => $catSearch,    "Race" => $catRace];
    echo 
    json_encode($newjson); 
    Mi da questo errore:
    Unexpected token < in JSON at position 0
    Ultima modifica di techno; 09-12-2021 a 12:59

  2. #2
    Ho provato anche in questo modo:

    codice:
    function raceSelect(){
        let val = this.value;
        var obj = {
            "catSearch": document.querySelector("input[name=cat_search]").value,
            "catRace": val
        };
        xhttp("/scr/search.php", obj).then(dts => {
            dts;
        });
    }
    ma l'errore rimane probabilmente e dovoto ai dati che passo?

  3. #3
    Nessun aiuto?

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Quote Originariamente inviata da techno Visualizza il messaggio
    Nessun aiuto?
    Ci sono troppe parti di codice in gioco, lato client e lato server, e il codice del primo messaggio non è molto leggibile essendo non formattato (è tutto allo stesso livello).

    Più che altro, non è la prima discussione che apri sulle Promise, solo che ogni volta sembra come se fosse la prima volta: c'è sempre una incomprensione di fondo riguardo l'asincronicità e l'uso di questo strumento che continua a riemergere, e quando viene risolto per una chiamata o una occasione, si ripresenta puntuale alla successiva, anche se lo scenario è praticamente lo stesso.

    Per iniziare, io escluderei la parte server e verificherei qual è il contenuto della richiesta che viene inviata dalla pagina usando i Developer Tools del browser (tasto F12, scheda Rete/Network), in modo da capire cosa viene spedito al server.

    Se riesci a pubblicare una versione del codice indentata, si può approfondire ulteriormente il "giro".

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.