javascript - Removing a table row from a db on a button click -
मेरे पास एक टेबल है:
& lt; table class = "table" id = " mytable "& gt; & LT; टीआर & gt; & Lt; td & gt; कॉलम 1 & lt; / td & gt; & Lt; td & gt; कॉलम 2 & lt; / td & gt; & lt; td & gt; & lt; बटन प्रकार = "सबमिट करें" वर्ग = "बीटीएन हटायेंबटन" & gt; निकालें & lt; / button & gt; & lt; / td & gt; & Lt; / टीआर & gt; & Lt; / तालिका & gt; 'removebutton' क्लिक पर मैं एक दी गई तालिका पंक्ति (वे गतिशील रूप से बाद में बनाए जा रहे हैं) को हटाना चाहते हैं। मैं एजेक्स के साथ इस विशेष पंक्ति से डेटा भेजना चाहता हूं ताकि मैं इसे किसी डाटाबेस से निकाल सकूं। मैं वेबसाइट से पंक्ति निष्कासन को लागू करने में कामयाब रहा, लेकिन मैं डेटाबेस से इसे हटाने के लिए अनुरोध से उचित अनुरोध भेजने और डेटा को पुनः प्राप्त करने के साथ झगड़ा कर रहा हूं। मेरा जावास्क्रिप्ट कोड:
$ (document) .ready (function () {$ ('# mytable')। ('click', '.removebutton', फ़ंक्शन (ईवेंट) {var data_array = $ ('td')। map (समारोह () {वापसी $ (यह) .serializeArray ();}); $ (यह) .closest ('tr')। निकालें (); $ .एजेक्स ({प्रकार: "हटाएं", डेटा: डेटा_अरे, सफलता : फ़ंक्शन (परिणाम) {window.location.href = $ SCRIPT_ROOT + '/ main';}});});}); सर्वर साइड कोड:
@ app.route ('/ main', methods = ['GET', 'POST', 'DELETE'] ) डीईफ़ मुख्य (): यदि request.method == 'POST': insert_in_db (request.form) रिटर्न रीडायरेक्ट (url_for ('next_page')) elif request.method == 'DELETE': # अनुरोध से डेटा प्राप्त करें और निकालें इसे डेटाबेस वापसी से render_template ('next_page.html') मैं वर्तमान तालिका पंक्ति से डेटा कैसे भेज सकता हूं (जिस बटन पर क्लिक किया गया है उसके बाद वाला एक) एक एजेक्स में अनुरोध और मैं इसे सर्वर साइड पर बाद में कैसे प्राप्त करूं? मैंने कॉल करने का प्रयास किया। डेटा लेकिन मुझे केवल एक खाली स्ट्रिंग मिली। मैंने DELETE अनुरोध में request.form की कोशिश की और यह मुझे ImmutableMultiDict ([]) देता है। कोई सुझाव? मैं वर्तमान में फ्लास्क वेब फ्रेमवर्क के रूप में उपयोग कर रहा हूं धन्यवाद!
पंक्ति डेटा को AJAX कॉल के माध्यम से भेजने के लिए
$ ('# Mytable') पर ('क्लिक', '.removeButton', फ़ंक्शन (ईवेंट) {var col1 = $ (this) .clostest ('tr')। ('Td')। Eq (0 )। Html (); // या आप कोशिकाओं के माध्यम से पाश कर सकते हैं var col2 = $ (this) .clostest ('tr')। ('Td')। Eq (1) .html (); $ (this) .classest ('tr')। निकालें (); $। एजेक्स ({प्रकार: "हटाएं", डेटा: {कॉलम 1: कॉल 1, कॉलम 2: कोल 2}, // पोस्ट की सफलता की सफलता: फ़ंक्शन (परिणाम) {window.location। Href = $ SCRIPT_ROOT + '/ main';}}})}}; ये request.args में उपलब्ध होना चाहिए
Comments
Post a Comment