Codice javascript, output errato

Ciao, prima di tutto scusate se posto di nuovo lo stesso messaggio ma
non sono ancora riuscito a risolvere questo problema

inserendo del codice RJS(è così che si chiama no?) la pagina mi
genera questo output quando per esempio ora dovrebbe farmi un’ alert.
cosa sbaglio?

OUTPUT:

try {
alert(“testtt”);
} catch (e) { alert(‘RJS error:\n\n’ + e.toString()); alert(‘alert
(“testtt”);’); throw e }


nel controller scrivo:

def test
render(:update) {|page| page.bbb}
end

nell’ helper

module MainHelper
def bbb
page.alert(“testtt”)
end
end

ho anche provato ad usare solo il controller con questo codice ma
niente, stesso problema

render :update do |page|
page.alert(“testtt”)

Saluti Andrea

stb wrote:

inserendo del codice RJS(� cos� che si chiama no?) la pagina mi
genera questo output quando per esempio ora dovrebbe farmi un’ alert.
cosa sbaglio?

OUTPUT:

try {
alert(“testtt”);
} catch (e) { alert(‘RJS error:\n\n’ + e.toString()); alert(‘alert
(“testtt”);’); throw e }

A me una volta era successo lo stesso; poi mi sono accorto che avevo un
filtro che, oltre che impostarmi il corretto charset, mi forzava il
content-type a ‘text-html’ . Quindi, le risposte rjs, normalmente
‘text-javascript’ o simili, diventavano ‘text-html’.

Controlla quindi che, nel tuo controller o in application.rb, non hai
qualcosa tipo:
@headers[‘Content-Type’] = "text/html;
Ciao
Simo
addsw.it

On 9/24/06, stb [email protected] wrote:

try {
alert(“testtt”);
} catch (e) { alert(‘RJS error:\n\n’ + e.toString()); alert(‘alert
(“testtt”);’); throw e }


E’ successo anche a me… A suo tempo la distrazione stava nel fatto che
ho
usato link_to invece di link_to_remote per richiamare l’azione, e di
conseguenza il template rjs. Sembra simile l’errore, quindi prova a
controllare che la chiamata sia Ajax.
Spero di averti aiutato.

–Andrea R.

Niente, non ho nessuna impostazione per il content.

non ho ben capito per quale motivo non dovrebbe funzionare il
link_to, Andrea potresti spiegarti meglio?

Io la funzione la richuamo inserendo direttamente l’ url comprensivo
della action,è forse questo il problema?

Saluti Andrea

Il giorno 24/set/06, alle ore 18:36, Simo ha scritto:

On 9/24/06, stb [email protected] wrote:

Niente, non ho nessuna impostazione per il content.

non ho ben capito per quale motivo non dovrebbe funzionare il
link_to, Andrea potresti spiegarti meglio?

Io la funzione la richuamo inserendo direttamente l’ url comprensivo
della action,è forse questo il problema?

I link che di cui ti parlo sono due e si generano attraverso gli helper
che
adesso ti vado ad elencare nelle viste.

— Link tipico —
L’helper link_to utilizzato per creare un link
<%= link_to(“Zona Palco Sud”, :action => :change) %>
porta al risultato di un tipico link
Zona Palco Sud

— Link che attva una chiamata Ajax —
L’helper link_to_remote è utilizzato per creare un link che effettua una
chiamata Ajax
<%= link_to_remote( “

Zona Palco Sud
”,
:url => { :action => :change}) %>

porta al risultato di un link che effettua una chiamata Ajax come puoi
vedere qui sotto

Zona Palco Sud

Nel caso in cui tu usi rjs devi effettuare una chiamata con un oggetto
Ajax
altrimenti l’output ottenuto sarà quello che hai postato inizialmente.
Quindi o utilizzi link_to_remote o devi creare a manina l’oggetto Ajax
che
effettua la chiamata.
Spero di essere stato chiaro :wink:

Ciao,

ho capito quello che hai detto, ma non ho capito per quale motivo per
fare una chiamata rjs devo usare per forza ajax(l’ unica differenza è
che la chiamata è asincrona), cmq ho provato e non mi funziona
neanche così, nella vista ho messo un link_to_remote ad un’ azione di
test per fare una alert che ovviamente non funziona. cmq nella
documentazione non c’è alcun riferimento al fatto di usare per forza
ajax, sei sicuro che non funziona?

def test
render(:update) {|page| page.alert(“test”)}
end

e nella vista ho inserito questo pezzo di codice

<%= link_to_remote( “test”,
:url => { :controller => ‘users’, :action => :test}) %>

questo codice non produce alcuna azione, nemmeno errori nella console
javascript di firefox.
per ora sto cercando di far funzionare una alert anche se il mio
obbiettivo è fare delle vere e proprie chiamate a funzioni
javascript, per l’esatezza le api di google(so che ci son plugin ma
non hanno tutte le funzioni, es geocoding e altro)

Saluti Andrea

Il giorno 25/set/06, alle ore 01:13, Andrea R. ha scritto:

On Sep 24, 2006, at 3:08 PM, stb wrote:

Ciao, prima di tutto scusate se posto di nuovo lo stesso messaggio
ma non sono ancora riuscito a risolvere questo problema

inserendo del codice RJS(è così che si chiama no?) la pagina mi
genera questo output quando per esempio ora dovrebbe farmi un’
alert. cosa sbaglio?

Fammi capire, tu vuoi che il codice javascript venga eseguito
durante il caricamento della pagina o in seguito a un’azione
dell’utente?


Stefano C.
[email protected]

Sono riuscito a eseguire una alert tramite rjs, ora quello che vorrei
è dentro il controller, richiamare una funzione javascript presente
nella mia vista, come posso fare?
Ho visto il metodo link_to_function ma non fa al caso mio, io vorrei,
nel controller avere una funzione che oltre a fare delle operazioni
mi richiami un metodo javascript.

saluti Andrea, grazie in anticipo…

Il giorno 25/set/06, alle ore 12:56, Stefano C. ha scritto:

stb wrote:

in seguito ad una azione, per esempio dal lato server manipolo i dati
di una citt� e tramite javascript(e le api di google maps) modifico
la mia mappa, cosa che ho gi� fatto senza problemi ma ovviamnte nn in
rails.

In questo articolo:
http://www.extendi.it/ruby-on-rails/index.php/google-maps-in-rails-con-ym4r-plugin/
e’ descritto come utilizzare, ed aggiornare una googlemap tramite rails

Ciao
Simo
addsw.it

in seguito ad una azione, per esempio dal lato server manipolo i dati
di una città e tramite javascript(e le api di google maps) modifico
la mia mappa, cosa che ho già fatto senza problemi ma ovviamnte nn in
rails.

Saluti Andrea

Il giorno 25/set/06, alle ore 12:56, Stefano C. ha scritto:

Ciao
ho il tuo stesso problema … potresti gentilmente postare il codice
corretto?

Paolo

Sono riuscito a eseguire una alert tramite rjs, ora quello che vorrei
? dentro il controller, richiamare una funzione javascript presente
nella mia vista, come posso fare?
Ho visto il metodo link_to_function ma non fa al caso mio, io vorrei,
nel controller avere una funzione che oltre a fare delle operazioni
mi richiami un metodo javascript.

saluti Andrea, grazie in anticipo…

Ciao,

allora io personalmente uso questa sintassi

def metodo_test
render :update do |page|
page.alert “hello world”
end
end

quando richiami il metodo, se lo fai in ajax ricordati di non mettere
nulla in update, mi spiego meglio, se tu hai una link to remote, il
campo update dev’ essere vuoto, se metti l’id di un div lui ti genera
il codice javascript dentro(try{…}catch)

Il giorno 28/dic/06, alle ore 14:59, Paolo G. ha scritto: