[Rails] jQuery non risponde ad ajax:success

Ciao a tutti,
Ho un problema per il quale non riesco a trovare nessuna informazione.
Sto cercando di eseguire un modulo via AJAX ma la risposta non viene
“eseguita”, mi spiego meglio:
Questo è il codice che dentro la create del controller mi genera la
risposta.

    format.js {
      xm = Builder::XmlMarkup.new
      xm.ul {
        @pay_check.errors.full_messages.each do |msg|
            xm.li {
               xm << msg
              }
        end
      }

      render(:text => xm)
    }

Dentro la console JavaScript vedo la risposta nel campo reponse:

  • Work hours can't be blank
  • Month is not included in the list
  • Month can't be blank

ma il codice jQuery che dovrebbe fare il bind dell’ ajax:success non
viene eseguito:

$("#new_pay_check").bind(“ajax:success”, function(event, data, status,
xhr) {
$(’#errorlist’).html(data);

});

Ho fatto alcune prove scrivendo del codice javascript dentro il file
create.js.erb e anche in questo caso, il codice non viene eseguito.

Qualcuno ha qualche idea di quale potrebbe essere il problema?

Grazie

Nimbuzz 77 wrote in post #1028417:

Ciao a tutti,
Ho un problema per il quale non riesco a trovare nessuna informazione.
Sto cercando di eseguire un modulo via AJAX ma la risposta non viene
“eseguita”, mi spiego meglio:
Questo è il codice che dentro la create del controller mi genera la
risposta.

    format.js {
      xm = Builder::XmlMarkup.new
      xm.ul {
        @pay_check.errors.full_messages.each do |msg|
            xm.li {
               xm << msg
              }
        end
      }

      render(:text => xm)
    }

Dentro la console JavaScript vedo la risposta nel campo reponse:

  • Work hours can't be blank
  • Month is not included in the list
  • Month can't be blank

ma il codice jQuery che dovrebbe fare il bind dell’ ajax:success non
viene eseguito:

$("#new_pay_check").bind(“ajax:success”, function(event, data, status,
xhr) {
$(’#errorlist’).html(data);

});

Ho fatto alcune prove scrivendo del codice javascript dentro il file
create.js.erb e anche in questo caso, il codice non viene eseguito.

Qualcuno ha qualche idea di quale potrebbe essere il problema?

Grazie

Prova a mettere il codice jQuery nell’evento ready

$(document).ready(function(){

// … codice …

});