Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

gus16710's avatar

How upload ajax image with laravel 5.4

Hello friends, i have a problem whit upload ajax image using Laravel 5.4, i have de next code (Blade Template, Javascript, Controller), allways return 'No', I need your help please :(

Blade Template:

<form enctype="multipart/form-data" method="PUT" id="form-edit-post">  
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">×</span></button>
        <h4 class="modal-title">Edit</h4>
    </div>
    <div class="modal-body">
        <div class="form-group">
          {!! Form::textarea('content-edit-post', null, ['class' => 'form-control', 'placeholder' => 'Edit',  'id' => 'content-edit-post', 'rows' => '3']) !!}                          
          </div> 
          <div class="form-group">                                                      
            <input type="file" name="imageedit" id="imageedit">
          </div>
    </div>
    <div class="modal-footer">
        <button type="button" class="btn btn-default pull-left" data-dismiss="modal">Cancel</button>
        {!! Form::submit('Save', ['class' => 'btn btn-primary']) !!}
    </div>
</form>

Javascript:

$('#form-edit-post').submit(function(event){

  event.preventDefault();

  var formData = new FormData($(this)[0]);

  $.ajax({
      headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
      url: "/home/posts/" + $post,
      type: 'PUT',
      data: formData,
      success: function (data) {
          alert(data)
      },
      cache: false,
      processData: false
  });

  
});

Controller:

public function update(Request $request, $id)
    {        

        if($request->hasFile('imageedit')) {

            return response()->json('Yes');            

        } else {

           return response()->json('No');             
        }
            
    }
0 likes
2 replies

Please or to participate in this conversation.