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

    [JQuery] Stampare errore json da php

    Compilo un form, faccio la submit e tramite jquery ajax chiamo lo script php.
    Tale script in caso di errore della query ritorna un json tramite echo json_encode..

    Dalla pagina web non riesco in alcun modo a stampare tale errore. Ottengo sempre e comunque
    un alert vuoto. Ne sto provando tante ma niente..

    Da php:

    codice:
                    if($stmt->execute()) {
                        $response["message"] = "Association updated";
                        header('Content-Type: application/json');
                        echo json_encode($response);
                    } else {
                        // errore aggiornamento
                        header('Content-Type: application/json');
                        echo json_encode($pdo->errorInfo());
                    }
    Da jquery:

    codice:
    $('.create_space_form').on('submit', function () {
                        var address = $('#space').val();
                        $.ajax({
                            type:"POST",
                            url:"storeSpace.php",
                            contentType: "application/x-www-form-urlencoded",
                            dataType:"json",
                            data: {address:address},
                            success: function (data) {
                            
                            },
                            complete: function () {
                                loadSpaces();
                            },
                            error: function (xhr, status, error) {
                                //alert(JSON.stringify(xhr.responseText));
                                //alert(xhr.responseText);
                                var err = JSON.parse(xhr.responseText);
                                alert(err.message);
                            }
                       });;
                    });
    Tra i commenti di "error" ci sono varie alternative che ho provato..

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    la chiamata ajax va a buon fine, la pagina php è presente e risponde con un messaggio (indipendentemente dal risultato della query). la stampa la devi inserire nel success

  3. #3
    1) Cosa stampo in success di preciso? Se stampo "data" direttamente ottengo "Object object".
    2) Nelle prove che faccio ottengo gli alert in error, vuoti, quindi di fatto non vado sempre in success.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Date le sole righe di codice php che hai postato, in error non ci arriverà mai a meno che effettivamente ci sia qualche errore di comunicazione tra client e server oppure qualche errore php (500 per esempio). Cosa stampere non so dirtelo dipende che cosa produce la riga di codice $pdo->errorInfo().

    Puoi monitorare le chiamate ajax dal tuo browser aprendo la console nel tab net( o qualcosa di simile dipende dal browser che usi). Puoi vedere la risposta del server, il json restituito oppure il codice di errore/successo (200, 404, 500 eccc..)

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.