JBolouri
4 سال پیش توسط JBolouri مطرح شد
4 پاسخ

مشکل آپلود فایل با ajax

سلام دوستان..

برای ارسال فایل از طریق Ajax کد زیر رو دارم:

 var obj = new FileReader();
                obj.onload = function(data){
                    var formData = new FormData();

                    event.preventDefault();

                    $.ajaxSetup({
                        headers: {
                          'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                        }
                      });
                    $.ajax({
                        url:"{{ route('FileUploadAjax')}}",
                        method:"POST",

                        data: formData,
                        dataType: 'JSON',
                        contentType: false,
                        cache: false,
                        processData: false,

                        success:function(data){
                          alert('success');
                        }

                    })
                }

به اینصورته که به محض اینکه فایل رو توسط file input انتخاب کردم قراره ajax عمل میکنه و روی هیچ دکمه submit یا چیز دیگه ای کلیک نمیکنم

داخل کنترلر فایل رو ندارم..
انگار نمیفرسته..
کدای مربوط به فایل رو که از توی کنترلر پاک میکنم همه چی اوکیه و ajax درست کار میکنه ولی به محض اینکه کدای مربوط به فایل رو میذارم ارور میده.. مثل getClientOriginalExtension

حتی تست کردم بقیه چیزای داخل فرم رو هم null برمیگردونه..
مثلا فیلد name که مقدار هم داره. انگار فرم رو نمیفرسته به کنترلرم

ممنون میشم راهنماییم کنید کد رو اصلاح کنم


ثبت پرسش جدید
محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 4 سال پیش آپدیت شد
2

سلام من از این استفاده میکنم بدون هیچ مشکلی کار میکنه

$.ajax({
                method:"get",
                url:"{{route('admin.setting.faq.status')}}",
                data:{id:id},
                success:function(data){
                    //console.log('success');
                }
            })

درضمن قدم به قدم از فراخونی تابع گرفته تا ... console.log بررسی کن
فک نکنم برای متد پست هم تفاوتی وجود داشته باشه


coarad supp
تخصص : برنامه نویس لاراول
@coaradsupp 4 سال پیش مطرح شد
JBolouri
@javadbolouri72 4 سال پیش مطرح شد
0

اسم و آی دی file input هست myFile..

چجوری به ajax بگم که دیتای این فایل اینپوت رو به همراه درخواست بفرست به کنترلر؟


JBolouri
@javadbolouri72 4 سال پیش آپدیت شد
0

درست شد..

این کدا رو بعنوان دیتای Ajax اضافه کردم درست شد..

var UploadFormData = new FormData();
var files = $('#myFile')[0].files[0];
UploadFormData .append('myFile',files);

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام