首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >laravel表单序列化和文件上传

laravel表单序列化和文件上传
EN

Stack Overflow用户
提问于 2021-03-09 10:04:43
回答 1查看 838关注 0票数 0

嗨,我不明白为什么在我的形式序列化不能工作。我使用ajax上传文件。

我的剑是

代码语言:javascript
复制
  <form class="form-inline" id="uploadFileFrm">
     @csrf
     <select class="form-control ml-4" id="tas" name="tas">
      <option value="" disabled selected>Seleziona tas</option>
      @isset($users)
       @foreach ($users as $user)
        <option value="{{ $user->id }}">
         {{ $user->code }} - {{ $user->name }}</option>
       @endforeach
      @endisset
     </select>

     <div class="custom-file col-6 ml-4">
      <input type="file" class="custom-file-input form-control" id="fileToUpload" name="fileToUpload">
      <label class="custom-file-label" for="customFile"></label>
      <small id="fileHelp" class="form-text text-muted">Carica il planning selezionando prima il tas</small>
     </div>

     <button type="submit" class="btn btn-primary ml-4" id="importFile">Sign in</button>
    </form>

那么我的javascript是

代码语言:javascript
复制
  $(document).on("click", '#importFile', function(e) {
   e.preventDefault();
   var data = $('#uploadFileFrm').serialize();
   $.ajax({
    type: 'POST',
     cache: false,
     contentType: false,
     processData: false,
     url: "{{ url('/uploadfile') }}",
     data: data,
     success: function(data) {
      .........
     }
    }); //fine ajax
   });

它只序列化Chrome调试中的令牌--实际上我只看到

代码语言:javascript
复制
_token=N5HD2apC6VH5T7YAgXqgNT209zk2DmTdddm0JXcf

没有关于TAS和文件的事为什么?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-09 10:13:28

标签中添加多部分-

代码语言:javascript
复制
<form method="POST" enctype="multipart/form-data" id="uploadFileFrm">

像这样改变AJAX调用-

代码语言:javascript
复制
$('#uploadFileFrm').submit(function(e) {
    e.preventDefault();
    var formData = new FormData(this);
    $.ajax({
        type: 'POST',
        url: "{{ url('/uploadfile') }}",
        data: formData,
        cache: false,
        contentType: false,
        processData: false,
        success: (data) => {
            this.reset();
            alert('File has been uploaded successfully');
            console.log(data);
        },
        error: function (data) {
            console.log(data);
        }
    });
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66544751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档