jquery 进行ajax 传输文件 后台解析问题

2 篇文章 0 订阅
$("#img_input").on("change", function (e) {
                let formData = new FormData();
                let file_data = $("#img_input").prop("files")[0];
                // 把上传的数据放入form_data
                formData.append("img", file_data);
                //  使用此方法进行 图片传输  无法传输
                $.ajax({
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                    },
                    method: "post", // 上传文件要用POST
                    url: "{{ url('/handle_image') }}",
                    dataType: "json",
                    processData: true,  // 注意:不要 process data
                    //contentType: "multipart/form-data",  // 注意:不设置 contentType
                    data: formData,
                    success: function (res) {
                        alert(res);
                    }
                })

这是使用FormData进行文件传输的一个例子。

通过laravel的dd 函数打印$_FILES 为空,打印$_REQUEST 如下:


后台无法解析,具体原因探究不出来。

换一种方法进行文件传输就可以

formData.append('_token', $('meta[name="csrf-token"]').attr('content'));
                var request = new XMLHttpRequest();
                request.open("POST", "{{url('/handle_image')}}");
                request.send(formData);
                request.onload = function (oEvent) {


                    if (request.status == 200) {

                        alert("存储成功!");

                    } else {

                        alert("存储失败!");
                    }
                };
仅仅记录下



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值