2012-03-30 7 views
5

Me encontré con un problema muy extraño que estoy teniendo dificultades para corregir. En mi opinión, tengo un enlace con data-remote="true" y data-method="delete". Cuando hago clic en el enlace, puedo ver una solicitud DELETE en el servidor de mis raíles. El código JS devuelto cambia las propiedades de este enlace, entre las cuales están href y data-method.¿Cambiar el método de datos con javascript no cambia qué método el ajax llama a los usuarios?

Al hacer clic en este enlace de nuevo, mi servidor recibe una petición al nuevo href, pero con la edad data-method, a pesar de que he cambiado desde DELETE a POST (todavía envía una solicitud DELETE).

Si actualizo la página, sin embargo, el HTML es el mismo que el "nuevo" HTML (cambiado con mi JS devuelto), pero realmente envía el tipo de solicitud correcto. Esta es la razón por la cual el problema me deja perplejo.

+0

mismo problema aquí; Voy a actualizar una vez que encuentre una solución – Makibo

Respuesta

9

Encontré una solución: asegúrese de utilizar el jQuery Element.data() Método para configurar atributos de datos html como "método de datos", etc.

$(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 
Cuestiones relacionadas