Entra

View Full Version : [php] Richiamare Ajax


debby87
06-06-2010, 10:28
Salve,
vorrei sapere se è possibile avere lo stesso risultato di questo per esempio

<a href="javascript:makeRequest1('Vendita_su_Fiera')</a>

su un codice php. Ho provato ad inventare qualcosa del genere ma ovviamente non funziona:

$co=$esiste->getCodiceUtente();
$us=$esiste->getUsername();
$pa=$esiste->getPassword();
$ru=$esiste->getRuolo();
$risultato=Singleton::getInstance("CRisultatoCercaUtente");
$risultato=new CRisultatoCercaUtente($co,$us,$pa,$ru);

echo '<script type="text/javascript">makeRequest1('$risultato')</script>;


c'è un modo?

MaxArt
07-06-2010, 09:32
non funziona:Non dire MAI cose come "non funziona" quando fai una richiesta in questa sezione: specifica meglio! (Forse cionci dovrebbe mettere questo consiglio nel regolamento di sezione...)
In che senso non funziona?
Dà errore JavaScript? La richiesta parte ma il server non risponde?
Perché dici "ovviamente"? Cosa ti aspettavi che facesse?

in teoria quello che hai fatto potrebbe andare bene. Se non funziona è magari perché, al momento in cui viene interpretato lo script, la funzione makeRequest1 non è ancora definito.
Ma non posso dirti altro se non dai migliori indicazioni.

P.S.: non stai "richiamando AJAX da PHP", semmai stai generando un codice JavaScript che viene eseguito nel momento in cui il browser apre la pagina.

lupoxxx87
07-06-2010, 13:19
non puoi passare a un metodo javascript un istanza php...dovresti passargli dei dati su cui javascript può agire

MaxArt
07-06-2010, 13:59
echo '<script type="text/javascript">makeRequest1('$risultato')</script>;Sto notando ora che ci sono dei problemi con le parentesi (EDIT: volevo dire apici :doh:). Forse è quello il problema?

non puoi passare a un metodo javascript un istanza php...dovresti passargli dei dati su cui javascript può agire???
Lo fa, con la variabile $risultato...

dany84
07-06-2010, 14:15
echo '<script type="text/javascript">makeRequest1('$risultato')</script>;
direi che c'è un serio problema di apici/virgolette.
io lo riscriverei così:

?> //chiusura precedente tag php
<script type="text/javascript">makeRequest1('<? echo $risultato; ?>');</script>
<? //riapertura tag php se ti serve

altrimenti gli apici che utilizzi sia per fare l'echo in php che per passare la stringa alla funzione javascript si mescolano malamente