Autor Zpráva
MartinBen
Profil
Dobrý den,

mam problém s předáním proměnných z formuláře pomocí jquery a ajax.

Moje představa je něco takového.

$('form').submit(function(event) {
    event.preventDefault();
    
    // kód pro validaci formuláře
    
    var $this = $(this);
    
    var url = $this.attr('action');
    var dataToSend = $this.serialize();
    
    
    var callback = function(dataReceived) {
    // výstup ze skriptu na serveru
      };
    var typeOfDataToReceive = 'html';
    
    $.get(url, dataToSend, callback, typeOfDataToReceive);
    });

a v PHP bych potřeboval nějaké pole, abych to mohl krásně vypsat. Jedná se o relativně rozsáhlý formulář. Takže by se mi hodilo něco chytrého.

parse_str($_GET['dataToSend'], $dataReceived);

foreach ($dataReceived as $value) {
echo $value; 
}

Nějak to nefunguje dle mých představ. Nejsem zatím žádný programátorský guru, tak prosím omluvte, pokud se ptám na kraviny.

Přeji hezký večer :-)
ShiraNai7
Profil
MartinBen:
Podle mě se stránce posílají ty data jako jednotlivé indexy přímo v $_GET .. tj $_GET['neco'] namísto (tebou očekávaného) $_GET['dataToSend']['neco'] .. zkus upravit jeden řádek takto:
var dataToSend = {dataToSend: $this.serialize()};

Ale spíš bych to posílal jako POST a použil pro to $this.serializeArray().

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0