asp.net mvc - Javascript HTTP Error 414. The request URL is too long -
जावास्क्रिप्ट:
फ़ंक्शन तालिकाटोएक्ससेल () {var कैलेंडर = Document.getElementById ("कैलेंडर")। InnerHTML; Window.location.href = "/ कैलेंडर / निर्यातडेटा? कैलेंडर =" + कैलेंडर; }
नियंत्रक:
सार्वजनिक कार्यवाही निर्यात डेटा (स्ट्रिंग कैलेंडर) {string headerTable = calendar; Response.Clear (); Response.AddHeader ("सामग्री-विवाद", "अनुलग्नक; फ़ाइल नाम =" + "कैलेंडर" + ".xls;"); Response.ContentType = "एप्लिकेशन / एमएस-एक्सेल"; Response.ContentEncoding = System.Text.Encoding.Unicode; Response.BinaryWrite (System.Text.Encoding.Unicode.GetPreamble ()); Response.Write (headerTable); Response.Flush (); Response.End (); नई रिक्त वापसी (); }
अगर मैं document.getElementById ("कैलेंडर") भेजता हूं .internalHTML को निर्यात करने के लिए window.location.href का उपयोग करके url अपवाद नीचे
अनुरोध यूआरएल बहुत लंबा HTTP त्रुटि 414. अनुरोध यूआरएल बहुत लंबा है।
मैं पैरामीटर भेजता हूं लेकिन ब्राउज़र को पैरामीटर के रूप में यूआरएल क्यों मिलता है? और इस समस्या को हल करने के लिए मुझे क्या करना चाहिए?
मैक्स यूआरएल आकार 2,083 वर्ण है। @ ब्रायन द्वारा वर्णित के रूप में, HTTP क्लाइंट (जैसे ब्राउज़र) की अपनी सीमाएं हो सकती हैं, और HTTP सर्वर के पास अलग-अलग सीमाएं हैं माइक्रोसॉफ्ट समर्थन "अधिकतम यूआरएल लंबाई इंटरनेट एक्सप्लोरर में 2,083 वर्ण है" आईई की तुलना में यूआरएल के लिए लंबे समय तक समस्याएं हैं।
आपको इस के लिए डाक पद्धति का उपयोग करना चाहिए, इसलिए:
यह कोड एक फॉर्म बनायेगा और इसे जोड़ देगा शरीर और इसे सबमिट करें।
फ़ंक्शन तालिकाटॉएक्ससेल () {var calendar = document.getElementById ("कैलेंडर")। InnerHTML; Var फार्म = $ ('& lt; form action = "ExportData" विधि = "पोस्ट" & gt; & lt; इनपुट प्रकार = "टेक्स्ट" नाम = "कैलेंडर" /> gt; & lt; / form & gt;') form.find ('input ') .val (कैलेंडर); । Form.appendTo ( 'शरीर') प्रस्तुत (); }
मैं आपको अपनी कार्रवाई में [HttpPost]
विशेषता को जोड़ने का सुझाव देता हूं।
[एचटीटीपी पोस्ट] सार्वजनिक कार्यवाही निर्यात डेटा ( स्ट्रिंग कैलेंडर)
Comments
Post a Comment