2012-03-30 4 views
5

मैंने एक बहुत ही अजीब मुद्दे में भाग लिया है कि मुझे कठिन समय तय करना पड़ रहा है। मेरे विचार में, मेरे पास data-remote="true" और data-method="delete" के साथ एक लिंक है। जब मैं लिंक पर क्लिक करता हूं, तो मैं अपने रेल सर्वर पर DELETE अनुरोध देख सकता हूं। जेएस कोड लौटा, फिर इस लिंक के गुणों को बदलता है, जिनमें से href और data-method हैं।जावास्क्रिप्ट के साथ डेटा-विधि बदलने से एजेक्स उपयोगकर्ताओं को किस विधि को कॉल नहीं करता है?

इस लिंक फिर से क्लिक करने पर

, अपने सर्वर नई href के लिए एक अनुरोध प्राप्त कर रहा है, लेकिन पुराने data-method साथ, भले ही मैं POST को DELETE से यह बदल गया है (यह अभी भी एक DELETE अनुरोध भेजता है)।

यदि मैं पृष्ठ को रीफ्रेश करता हूं, हालांकि, HTML "नया" HTML (मेरे लौटे जेएस के साथ बदला गया) जैसा ही है, लेकिन यह वास्तव में सही अनुरोध प्रकार भेजता है। यही कारण है कि मुद्दा मुझे परेशान कर रहा है।

+0

यहां एक ही समस्या है; एक बार मुझे समाधान मिल जाए तो मैं अपडेट करूंगा – Makibo

उत्तर

9

एक समाधान मिला: सुनिश्चित करें कि आप 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 
संबंधित मुद्दे