[ruby-it] Aiuto! Ho un problema con l'esecuzione di JS

Cristiano Xxx criss.s a inwind.it
Dom 14 Feb 2010 12:33:38 CET


Grazie Pietro, ho scaricato Firebug, da quello che dice il sito sembra 
ottimo.

Andrea Pavoni wrote:
>se � questo il problema, credo sia normale e non ha a che fare con RJS o
>prototype: la risposta in RJS ha un content-type di tipo text/javascript
>di conseguenza il browser non lo esegue, bens� lo prende come un
>semplcie file di testo.

Grazie Andrea,
ho passato in debug l'applicazione e facendo una brutale ricerca con 
"find in files" ho trovato in prototype_helper.rb 
(C:\Ruby\lib\ruby\gems\1.8\gems\actionpack-2.1.2)

module GeneratorMethods
    def to_s #:nodoc:

            returning javascript = @lines * $/ do
              if ActionView::Base.debug_rjs
                source = javascript.dup
>                javascript.replace  " try {\n#{source}\n} catch (e) "
>                javascript <<  "{ alert('RJS error:\\n\\n' + e.toString()); alert('#{source.gsub('\\','\0\0').gsub(/\r\n|\n|\r/, "\\n").gsub(/["']/) { |m| "\\#{m}" }}'); throw e }"      

              end
            end
          end


ma anche specificando il content-type con
>                Mime::Type.register "application/javascript", :js, %w( application/javascript application/x-javascript )

viene sempre visualizzato come text-plain


Alessandro Scolavino wrote:
> Non mi è chara una cosa.. :login lo chiami con ajax o una post normale?
> 

> - se è una post ritorna un oggetto di tipo html e quindi visto che non è 
> incapsulato a dovere il tuo javascript viene mostrato a video.
> 

Grazie Alessandro,
in effetti credo che hai centrato il problema (non riesco ad essere 
molto chiaro, fino a qualche mese fa non conoscevo affatto Ruby, tanto 
meno Ajax), ho sostituito

> <%= form_remote_tag(:url => {:controller => utente, :action => login})%>

con

<form action="utente/login" method="post">

e

> <%= submit_tag 'OK' %> 

con

 <input type="submit" value="OK" />

visto che con recenti browser come Chrome o Mozzilla non effettuava 
l'operazione di login, ma rimaneva completamente freezato, mentre ora 
esegue il login, registra i dati utente in sessione ma non esegue il JS 
di redirect alla home.
-- 
Posted via http://www.ruby-forum.com/.


More information about the Ml mailing list