مشکل ارسال فایل حجیم با ajax
با سلام
من با ایجکس تو قسمتی از سایت مجبورا چند فایل با هم ارسال کنم که خوب وقتی تعداد فایل ها زیاد میشه ایجکس فایل ها رو ارسال نمی کنه و اون قسمت از سایت از کار می افته!
توی تنظیمات ایجکس من مقادیر زیر رو تنظیم کردم اما با این حال این مشکل وجود داره!:(
cache: false,
contentType: false,
processData: false,
data:form_data,
ممنون میشم دوستان اگر تجربه ای تو این زمینه دارند راهنمایی کنند :)
<script>
var a_file = $("#a-file").prop("files")[0];
var b_file = $("#b-file").prop("files")[0];
var c_file = $("#c-file").prop("files")[0];
var d_file = $("#d-file").prop("files")[0];
var e_file = $("#e-file").prop("files")[0];
var f_file = $("#f-file").prop("files")[0];
var g_file = $("#g-file").prop("files")[0];
var h_file = $("#h-file").prop("files")[0];
var i_file = $("#i-file").prop("files")[0];
var j_file = $("#j-file").prop("files")[0];
var k_file = $("#k-file").prop("files")[0];
var l_file = $("#l-file").prop("files")[0];
var m_file = $("#m-file").prop("files")[0];
var n_file = $("#n-file").prop("files")[0];
var o_file = $("#o-file").prop("files")[0];var form_data = new FormData();
form_data.append("a_file", a_file);
form_data.append("b_file", b_file);
form_data.append("c_file", c_file);
form_data.append("d_file", d_file);
form_data.append("e_file", e_file);
form_data.append("f_file", f_file);
form_data.append("g_file", g_file);
form_data.append("h_file", h_file);
form_data.append("i_file", i_file);
form_data.append("j_file", j_file);
form_data.append("k_file", k_file);
form_data.append("l_file", l_file);
form_data.append("m_file", m_file);
form_data.append("n_file", n_file);
form_data.append("o_file", o_file);insertNewRecord(form_data);
</script>
محتویات تابع insertNewRecord:
function insertNewRecord(form_data){
$.ajax('../new_record',{
type: 'POST',
dataType: 'json',
cache: false,
contentType: false,
processData: false,
data:form_data,
success: function (result) {
alert("A");
}
});
}
چند تا احتمال به نظرم میرسه
۱- آنتی ویروسی نصب داشته باشی که پکیج های ارسالی از طریق صفحات وب و پروتکل http محدود کرده باشه به مثلاً حداکثر ۵۰ کیلوبایت
2- شاید با تنظیم مقادیر زیر تو php.ini مشکل حل بشه
- upload_max_filesize
- memory_limit
- post_max_size
اگه این ها حل نشد سعی کن قطعه کدی که استاد برای نمایش خطا اضافه کرد رو به اسرکیپت اضافه کنی
error: function (jqXHR, exception) {
if (jqXHR.status === 0) {
alert('Not connect.\n Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .