راکت
JBolouri
JBolouri
توسط 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 با زبان php framework laravel
@mohsen.mehri61016 سال پیشمطرح شد
2

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

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

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


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

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

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


JBolouri
JBolouri
@javadbolouri726 سال پیشمطرح شد
0

درست شد..

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

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

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

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