5

我遇到了一个非常奇怪的问题,我很难解决。在我看来,我与data-remote="true"and有一个链接data-method="delete"。当我单击链接时,我可以看到DELETE对我的 rails 服务器的请求。然后返回的 JS 代码改变了这个链接的属性,其中包括hrefdata-method

再次单击此链接后,我的服务器正在接收对 new 的请求href,但使用 old data-method,即使我已将其更改DELETEPOST(它仍然发送DELETE请求)。

但是,如果我刷新页面,HTML 与“新”HTML 相同(用我返回的 JS 更改),但它实际上发送了正确的请求类型。这就是为什么这个问题让我感到困惑。

4

1 回答 1

10

找到了解决方案:确保使用jQuery Element.data()方法设置 html 数据属性,如“数据方法”等。

$(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
于 2012-06-02T12:46:27.853 回答