Passaggio valore da una pagina PHP all'altra tramite ajax

manuelappo90

Nuovo Utente
8 Mar 2017
2
0
1
34
Buonasera, vi spiego la mia situazione: io dovrei, al click di una riga di una lista in php (client.php) , avviare un test presente in una seconda pagina php (test.php), passando a tale pagina il valore presente sulla riga selezionata.
Io avevo pensato di usare ajax ma non funziona.
Posto sotto il codice Ajax.
Cosa sbaglio? Qualcuno può aiutarmi? Grazie in anticipo

Codice:
 function startTest(selected){
    subjectRowSelected = selected;
    $.ajax({
        url     : "test.php",
        type    : "POST",
        data    :{
            subjectName    : subjectRowSelected
        },
        success : function (data){
            location.href = "test.php";
 
        },
        error : function (request, status, error) {
            alert("jQuery AJAX request error:".error);
        }
    });
}

qui sotto il codice della lista in client.php
PHP:
echo '<div class="list"><ul>';
        foreach ($subjects as $id => $subjectName){
            echo '<li><a class="showSubjectInfoAndExams" value="'.$subjectName.'" onclick="startTest(this);">'.$subjectName.'</a></li>';
            array_push($readedSubjects, $id);
        }

        echo '</ul></div>';
 
Ultima modifica:
Ciao, ci sono diversi errori:
1) il tag <a> non accetta l'attributo value, puoi utilizzare invece questa sintassi
PHP:
data-oggetto="'.$subjectName.'"
2) onclick="startTest(this)" this nel tuo caso è il tag <a> quindi un oggetto per recuperare il value avresti dovuto scrivere
Codice:
subjectRowSelected = selected.value;
ma visto che useremo l'attributo data puoi scrivere
Codice:
subjectRowSelected = $(selected).data("oggetto");
3) nel success della chiamata fai una location verso la stessa pagina chiamata, non ha senso, devi utilizzare la variabile "data" per mostrare il risultato
 

Discussioni simili