2012-03-30 29 views
5

Tôi đã gặp phải một vấn đề rất lạ mà tôi đang gặp khó khăn trong việc sửa chữa thời gian. Theo quan điểm của tôi, tôi có một liên kết với data-remote="true"data-method="delete". Khi tôi nhấp vào liên kết, tôi có thể thấy yêu cầu DELETE tới máy chủ đường ray của tôi. Mã JS trả về sau đó thay đổi các thuộc tính của liên kết này, trong đó có các số hrefdata-method.Thay đổi phương thức dữ liệu bằng javascript không thay đổi phương thức ajax gọi cho người dùng?

Sau khi nhấp vào liên kết này một lần nữa, máy chủ của tôi đang nhận được một yêu cầu đến mới href, nhưng với cái cũ data-method, mặc dù tôi đã thay đổi nó DELETE-POST (nó vẫn gửi một yêu cầu DELETE).

Nếu tôi làm mới trang, tuy nhiên, HTML giống với HTML "mới" (thay đổi với JS được trả về của tôi), nhưng nó thực sự gửi đúng loại yêu cầu. Đây là lý do tại sao vấn đề là khó hiểu tôi.

+0

cùng một vấn đề ở đây; tôi sẽ cập nhật khi tôi tìm được giải pháp – Makibo

Trả lời

9

Tìm thấy giải pháp: Đảm bảo bạn sử dụng phương thức jQuery Element.data() Phương pháp thiết lập thuộc tính dữ liệu html như "phương pháp dữ liệu" v.v.

$(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 
Các vấn đề liên quan