আমি আমার ফর্মগুলির জন্য ডেটা এবং ফাইল জমা দেওয়ার জন্য jQuery এবং Ajax ব্যবহার করছি তবে আমি নিশ্চিত না যে কীভাবে ডেটা এবং ফাইল উভয়ই একটি ফর্মে প্রেরণ করা যায়?
আমি বর্তমানে উভয় পদ্ধতিতে প্রায় একই কাজ করি তবে ডেটা যেভাবে অ্যারেতে সংগ্রহ করা হয় সেভাবে ভিন্ন, ডেটা ব্যবহার করে .serialize();
তবে ফাইলগুলি ব্যবহার করে= new FormData($(this)[0]);
অ্যাজাক্সের মাধ্যমে একটি ফর্মে ফাইল এবং ডেটা আপলোড করতে সক্ষম হতে উভয় পদ্ধতির একত্রিত করা সম্ভব?
ডেটা jQuery, Ajax এবং এইচটিএমএল
$("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 এবং এইচটিএমএল
$("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
পদ্ধতির ফরম ধারণ করে যাহা চান, শুধু ফাইল আপলোড ক্ষেত্র না এর সঙ্গে সুন্দর কাজ করা উচিত; যদিও এটি ব্যাপকভাবে সমর্থিত নয়।