2012-03-30 5 views
5

Mi sono imbattuto in un problema molto strano che sto avendo difficoltà a risolvere. A mio avviso, ho un collegamento con data-remote="true" e data-method="delete". Quando clicco sul link, posso vedere una richiesta DELETE al mio server di rotaie. Il codice JS restituito modifica quindi le proprietà di questo collegamento, tra cui lo href e data-method.La modifica del metodo dati con javascript non modifica il metodo con cui l'ajax chiama gli utenti?

Su cliccando questo link ancora una volta, il mio server sta ricevendo una richiesta alla nuova href, ma con il vecchio data-method, anche se ho cambiato DELETE-POST (invia comunque una richiesta DELETE).

Se aggiorno la pagina, l'HTML è lo stesso del "nuovo" HTML (modificato con il mio JS restituito), ma in realtà invia il tipo di richiesta corretto. Questo è il motivo per cui il problema mi sta sconcertando.

+0

stesso problema qui; aggiornerò una volta trovo una soluzione – Makibo

risposta

9

Trovato una soluzione: assicurarsi di utilizzare il metodo jQuery Element.data() per l'impostazione di attributi di dati html come "metodo dati" e così via.

$(this).data('method', 'post'); # sets "data-method" attribute to "post" 
$(this).data('method', 'delete'); # sets "data-method" attribute to "delete" 

# "this" refers to the clicked link element for example 
Problemi correlati