2012-03-30 31 views
5

我遇到了一个非常奇怪的问题,我有一个艰难的时间修复。在我看来,我有一个链接data-remote="true"data-method="delete"。当我点击链接时,我可以看到一个DELETE请求到我的Rails服务器。然后返回的JS代码更改此链接的属性,其中包括hrefdata-method使用javascript更改数据方法不会更改ajax调用用户的方法吗?

当再次点击这个链接,我的服务器在接收到新的href的请求,但与老data-method,即使我已经从DELETE改成了POST(它仍然发送DELETE要求)。但是,如果我刷新页面,HTML与“新”HTML(用我返回的JS更改)相同,但它实际上会发送正确的请求类型。这就是为什么这个问题令我困惑。

+0

同样的问题在这里;一旦找到解决方案,我会更新 – Makibo 2012-06-02 12:37:28

回答

9

找到了一个解决方案:确保您使用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 
相关问题