2016-01-06 1 views
0

просто я могу загрузить изображение с помощью ниже кода. но после того, как попытка использовать действие контроллера для загрузки изображения с помощью AJAX я получаю ошибку:Laravel получить сообщение об ошибке при попытке загрузить изображение ajax

Ошибка:

Call to a member function move() 

Мои коды:

{!! Form::open(['url' => 'registerToBuyCard', 'id' => 'register_to_buy_card','style'=>'text-align:left;','enctype'=>"multipart/form-data"]) !!} 

<div class="form-group"> 
    <label for="passport">Passport Image</label> 
    {!! Form::file('passport') !!} 
</div> 

<button type="submit" class="btn btn-default">Submit</button> 
</fieldset> 
{!! Form::close() !!} 

Ajax:

$("#register_to_buy_card").submit(function (event) { 
    event.preventDefault(); 
    var $this = $(this); 
    var url = $this.attr('action'); 

    $.ajax({ 
     url: url, 
     type: "POST", 
     dataType: "json", 
     data: $this.serialize(), 
     success: function (data) { 
      if (data.code == '1') { 
       alert('thanks'); 
      } else 
       apprise("<span style='font-size:11px;font-family: Tahoma'>" + data.message + "</span>"); 
     }, 
     error: function (data) { 
      apprise("<span style='font-size:11px;font-family: Tahoma'>" + data.message + "</span>"); 
     } 
    }); 
}); 

Регулятор:

public function registerToBuyCard(Request $request) 
{ 
    $file = $request->file('passport'); 
    $filename = $this->upload_image($file); 
} 
public function upload_image($filename) 
{ 
    $destinationPath = base_path() . '/upload/'; 
    if ($filename->move($destinationPath, $filename)) 
     return $filename; 
    else 
     return false; 
} 

ответ

0

Проблема решаемая:

$("#register_to_buy_card").submit(function (event) { 
    event.preventDefault(); 
    var $this = $(this); 
    var url = $this.attr('action'); 
    var formData = new FormData(this); 
    $.ajax({ 
     url: url, 
     type: "POST", 
     dataType: "json", 
     data: formData, 
     contentType:false, 
     processData:false, 
     success: function (data) { 

     }, 
     error: function (data) { 

     } 
    }); 
}); 
+0

Если проблема решена, то вы должны принять решение. –