JavaScript-array doorgeven aan server met jQuery .post op submit en vervolgens array in PHP afdrukken?

HTML:

<form id="continue" action="summary.PHP" method="post">
<input type="submit" value="Continue" >
</form>

JS/JQuery

$('#continue').submit(function(){
    var data = ["jon", "steve"];
    var nameArray = JSON.stringify(data);
    $.post("summary.PHP", { nameArray: nameArray });
});

PHP

$name = json_decode($_POST["nameArray"]);
print_r($name);

Wanneer ik op de knop "Doorgaan" klik, wil ik worden omgeleid naar de summary.php-pagina en de namen weergeven. Momenteel krijg ik de foutmelding 'Undefined index: nameArray' wanneer de pagina summary.php is geladen.

Ik heb Firebug gecontroleerd en er is geen POST. Dus het lijkt erop dat naam Array niet eens wordt gepost. Wat is de oplossing?

0
U hebt een POST-implementatie in zowel HTML als JavaScript. Wilt u ajax ( $. Post ) of omleiding ( <form> ) gebruiken?
toegevoegd de auteur pimvdb, de bron

1 antwoord

Dit is niet de juiste manier om met gegevens om te gaan.

U plaatst een pagina (verlaat het) en doet een ajax-bericht binnen? Als u op de pagina wilt blijven, gebruikt u een ajax-bericht. Als u gegevens normaal post, gebruikt u een formulierpost.

Als je de naam jon of steve als een array wilt posten, kun je de volgende html gebruiken

<input type="hidden" name="nameArray[]" value="jon" />
<input type="hidden" name="nameArray[]" value="steve" />

Als u ajax wilt gebruiken, doe het dan niet bij het indienen van een formulier. U kunt dit doen op een submit, maar dan false retourneren aan het einde van de functie zodat de pagina niet wordt ingediend (u blijft op de huidige pagina)

3
toegevoegd