मैं डेटा और फ़ाइलों को जमा करने के लिए अपने फॉर्म के लिए jQuery और Ajax का उपयोग कर रहा हूं लेकिन मुझे यकीन नहीं है कि डेटा और फ़ाइलों को एक रूप में कैसे भेजा जाए?
मैं वर्तमान में दोनों विधियों के साथ लगभग एक ही करता हूं लेकिन जिस तरह से डेटा को किसी सरणी में इकट्ठा किया जाता है वह अलग है, डेटा का उपयोग करता है .serialize();
लेकिन फ़ाइलों का उपयोग करता है= new FormData($(this)[0]);
क्या Ajax के माध्यम से फ़ाइलों और डेटा को एक रूप में अपलोड करने में सक्षम होने के लिए दोनों तरीकों को संयोजित करना संभव है?
डेटा jQuery, Ajax और html
$("form#data").submit(function(){
var formData = $(this).serialize();
$.ajax({
url: window.location.pathname,
type: 'POST',
data: formData,
async: false,
success: function (data) {
alert(data)
},
cache: false,
contentType: false,
processData: false
});
return false;
});
<form id="data" method="post">
<input type="text" name="first" value="Bob" />
<input type="text" name="middle" value="James" />
<input type="text" name="last" value="Smith" />
<button>Submit</button>
</form>
फ़ाइलें jQuery, Ajax और html
$("form#files").submit(function(){
var formData = new FormData($(this)[0]);
$.ajax({
url: window.location.pathname,
type: 'POST',
data: formData,
async: false,
success: function (data) {
alert(data)
},
cache: false,
contentType: false,
processData: false
});
return false;
});
<form id="files" method="post" enctype="multipart/form-data">
<input name="image" type="file" />
<button>Submit</button>
</form>
मैं उपरोक्त कैसे संयोजित कर सकता हूं ताकि मैं अजाक्स के माध्यम से एक रूप में डेटा और फाइलें भेज सकूं?
मेरा उद्देश्य अजाक्स के साथ एक पोस्ट में इस फॉर्म के सभी भेजने में सक्षम होना है, क्या यह संभव है?
<form id="datafiles" method="post" enctype="multipart/form-data">
<input type="text" name="first" value="Bob" />
<input type="text" name="middle" value="James" />
<input type="text" name="last" value="Smith" />
<input name="image" type="file" />
<button>Submit</button>
</form>
FormData
FormData
दृष्टिकोण रूपों को शामिल कि जो कुछ भी आप चाहते हैं, बस फाइल अपलोड क्षेत्रों नहीं के साथ ठीक से काम करना चाहिए; हालांकि यह व्यापक रूप से समर्थित नहीं है।