ajax přidávání prvků do pole v komponentě

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
batko
Člen | 219
+
0
-

Ahoj,

mám komponentu a v ní mám pole:

<?php
private $values = [];

public function handleRate($metric, $value) {

if ($this->presenter->isAjax()) {

            $this->values[$metric] = $value;

            $this->result = $this->values;
            $this->redrawControl("result");
        }

}
?>

potřeboval bych, aby se mi přidal nový prvek do pole, ale mě se ty hodnoty stále přepisují a je v poli jen jeden prvek.

Díky

Oli
Člen | 1215
+
+2
-

Protože každý volání ajaxu je z hlediska PHP uplně stejné jako volání bez ajaxu jen se nezmění URL. Takže buď

/** @persistent */
public $values = [];

Nebo si to ulož do session, databáze (asi zbytečné, ale nevím co s tím pak děláš). Další možností je neposílat to na server a uložit si to do nějakýho javascriptovýho pole a pak to poslat naráz. Ale jak říkám z tohohle nejde poznat co s tím pak chceš dělat, takže ten js třeba ani nejde v tvém případě. Byl by ale nejrychlejší…

batko
Člen | 219
+
0
-

Oli napsal(a):

Protože každý volání ajaxu je z hlediska PHP uplně stejné jako volání bez ajaxu jen se nezmění URL. Takže buď

/** @persistent */
public $values = [];

Nebo si to ulož do session, databáze (asi zbytečné, ale nevím co s tím pak děláš). Další možností je neposílat to na server a uložit si to do nějakýho javascriptovýho pole a pak to poslat naráz. Ale jak říkám z tohohle nejde poznat co s tím pak chceš dělat, takže ten js třeba ani nejde v tvém případě. Byl by ale nejrychlejší…

Děkuji za radu, vyřešeno přes session…