मुझे आश्चर्य है कि मैं jQuery AJAX की तरह यह कैसे करूं। अभी मेरे पास एक jQuery UI संवाद बॉक्स पॉपअप है और इसमें एक HTML इनपुट फ़ाइल है।jQuery के माध्यम से फ़ाइल कैसे अपलोड करें?
अब जब उपयोगकर्ता आयात पर क्लिक करता है तो मैं jQuery के साथ सर्वर पर AJAX पोस्ट करना चाहता हूं।
मुझे यकीन नहीं है कि मेरे एक्शन व्यू में फ़ाइल को कैसे पास किया जाए।
अभी मैंने इसे एक पूरा पोस्ट वापस कर दिया है तो मैं इस
<% using (Html.BeginForm("Import", "Controller", FormMethod.Post, new { enctype = "multipart/form-data" }))
{%>
<br />
<p><input type="file" id="file" name="file" size="23 accept="text/calendar"></p><br />
<p><input type="submit" value="Upload file" /></p>
<% } %>
तब मेरे नियंत्रक में है
public ActionResult Import(HttpPostedFileBase file)
तो मुझे यकीन है कि jQuery और साथ एक HttpPostedFileBase में पास करने के लिए कैसे नहीं कर रहा हूँ jQuery में enctype = "multipart/form-data"
कैसे सेट करें।
संपादित
ठीक है अच्छी तरह से jQuery फार्म प्लगइन जाने का रास्ता हो रहा है।
$('#frm_ImportCalendar').livequery(function()
{
var options = {
dataType: 'json',
success: function(response)
{
alert(response);
}
};
$(this).ajaxForm(options);
});
मैं सोच रहा था कि मेरा जेसन क्यों काम नहीं कर रहा था लेकिन किसी ने बताया कि आप इसका उपयोग नहीं कर सकते हैं। मैं दूसरे लिंक की जांच कर रहा हूं जहां कोई जेसन का उपयोग करने में सक्षम था।
मुझे यकीन नहीं है कि क्यों लेक में इस्तेमाल किया गया था। AJAX सबमिट विधि से पहले सबमिट करें।
संपादित
मैं अपने सरणी शब्दकोश वापस जाने के लिए फाइल अपलोड json परिणाम बदल सकता है?
Dictionary<string, string> result = new Dictionary<string, string>();
result.Add("Msg", "Success!!");
result.Add("Body", calendarBody);
// how can I change this?
return new FileUploadJsonResult { Data = new { message = string.Format("{0} uploaded successfully.", System.IO.Path.GetFileName(file.FileName)) } };
मैं बस यहाँ आ रहा था पूछने के लिए क्यों यह JSON नहीं लौटेगा lol कॉलबैक फ़ंक्शन में अपना संदेश मिलता है। मैंने कुछ ऐसा ही किया लेकिन आईडी आईडी निर्दिष्ट नहीं है। सबमिट करें। मेरे पास अब तक के लिए संपादन देखें। – chobo2
जावास्क्रिप्ट जेएसओएन को सुरक्षा कारणों से फ़ाइल अपलोड करने वाले अनुरोधों के लिए डेटा प्रारूप के रूप में स्वीकार नहीं कर सकता है (यह jQuery फॉर्म वेबपृष्ठ पर प्रलेखित है)। मेरा सुझाव है कि आप एक्सएमएल का उपयोग करें जो _almost_ को jQuery के साथ JSON के रूप में उपयोग करने के लिए सरल है ... या शायद न्यूलाइन द्वारा अलग किए गए सादा पाठ में मूल्य। मैंने इस्तेमाल किया .ajax स्पष्ट रूप से सबमिट करें क्योंकि मैंने अपने स्वयं के प्रोजेक्ट के कुछ कोड से उदाहरण लिया है जहां मैं फॉर्म के साथ कुछ और सामान करता हूं। वैसे भी अपने कोड के व्यावहारिक रूप से समकक्ष होना चाहिए। – LorenzCK
वैसे यह एक्सएमएल कैसा दिखता है। मैंने अपना डिक्शनरी संग्रह पोस्ट किया है जिसे मैं एक जेसन परिणाम में परिवर्तित करता हूं, मैं इसे एक्सएमएल में कैसे परिवर्तित कर सकता हूं। – chobo2