2017-10-30 8 views
0

こんにちは、ボタンをクリックすると問題が発生しました。イメージが入ったフォルダが削除されてしまいましたが、そのページは更新されません。私はリフレッシュ をクリックするまで削除し、これはコードです:イメージが削除されましたが、ページがリフレッシュされませんでした。ajax laravel

  @if($question->question_image) 
      <img src="{{url('/')}}/images/questions/{{ $question->id }}/medium/{{ $question->question_image }}" class="answer-image-create" id="question_image_box"> 
<input onchange="readquestionURL(this);" type="file" id="question_file" name="question_image" style="display:none"/> 
      @else 
      <img src="{{ asset('noavatars/no-image-selected.png') }}" class="answer-image-create" id="question_image_box"> 
      <input onchange="readquestionURL(this);" type="file" id="question_file" name="question_image" style="display:none"/> 
      @endif 
      </div> 

    {{--  <button type="button" class="btn" id="question_upfile" 
        style="cursor:pointer; padding-left: 24px; padding-right: 15px;"> 
      <i class="fa fa-upload" aria-hidden="true"> 
      </i>@lang('buttons.upload_image') 
      </button> --}} 

      <button type="button" value="{{-- {{ $i }} --}}" class="btn btn-flat btn-default btn-sm delete_image" id="delete_image" title="@lang('buttons.remove_option')"><i class="fa fa-trash-o" aria-hidden="true"></i> </button> 

とJavaScriptのコードはこれです:

<script> 

     $(document).on("click", "button[id=delete_image]", function(data){ 
     var questionid = {{$question->id}}; 
     var element = 'questions'; 

     $.ajax({ 
     type: "POST", 
     url: "{{ action('website\images\[email protected]') }}", 
     data: { 
      _token: "{{ csrf_token() }}", 
      'id':questionid, 
       'element' : element, 

     }, 
     success: function(response) { 
     console.log(response); 
    }, 
    error: function(response){ 
     alert("fail"); 
    } 

     }); 

     function readquestionURL(input) { 
     if (input.files && input.files[0]) { 
      var reader = new FileReader(); 

      reader.onload = function (e) { 
       $('#question_image_box') 
        .attr('src', e.target.result) 
      }; 

      reader.readAsDataURL(input.files[0]); 
      } 
     } 
    }); 




    </script> 

コントローラはこれです:

public function deleteImage($element =null, $id = null){ 
      if(request()->ajax()) { 

      $id = request()->input('id'); 
      $element = request()->input('element'); 

     if($element != null && $id != null){ 
      Storage::disk('public')->deleteDirectory('/images/'.$element. '/'. $id); 
      } 
     return 1; 
     } 
    } 

イメージを削除して同時にリフレッシュする方法を教えてください。誰かが私にあなたに非常に感謝を助けてくれますか?

+0

[AJAX呼び出しがダイアログで完了した後にページをリロードするにはどうすればいいですか?](https://stackoverflow.com/questions/15962223/how-do-i-reload-the-page-after -an-ajax-call-done-a-dialog) – Onix

答えて

2

あなたは、あなたのAjaxのsuccess方法でその行を追加する必要がありますjavascriptの

location.reload(); 

を使用してページを更新することができます。

関連する問題