我遇到了一个非常奇怪的问题,我很难解决问题。在我看来,我有data-remote="true"
和data-method="delete"
的链接。当我单击链接时,我可以看到对我的rails服务器的DELETE
请求。返回的JS代码然后更改此链接的属性,其中包括href
和data-method
。
再次点击此链接后,即使我已将href
更改为{{1},我的服务器也会收到对新data-method
的请求,但旧请求DELETE
(它仍然发送POST
请求)。
但是,如果我刷新页面,则HTML与“新”HTML(使用我返回的JS更改)相同,但它实际上发送了正确的请求类型。这就是问题令我困惑的原因。
答案 0 :(得分:10)
找到解决方案:确保使用 jQuery Element.data()方法设置html数据属性,例如" data-method"等等。
$(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