2017-06-16 3 views
0

私はpjaxを新しくしました。私はテーブルスパンアンカー(a)HTMLタグをクリックすると、いくつかのデータを投稿した後にhtmlの特定の部分をリロードしようとしています。 しかし、それは動作していません。 私のhtmlコードは次のとおりです。ajaxとpjaxを使ってhtmlのpaticularセクションをリロードする方法は?

<div id="container"> 
     @if($task->member_responsible == $task->created_by) 
      <td><span class="auto-complete">Auto-Completed</span></td> 
      @elseif($task->status == true) 
      <td class="taskStatus"> 
      <span class="completed status" id="{{$task->id}}" status="false"><a href="{{route('task.list')}}" data-pjax="#container"> Completed</a></span></td> 
     @elseif($task->status == false) 
      <td class="taskStatusFalse"><span class="incomplete status" id="{{$task->id}}" status="true"><a href="{{route('task.list')}}" data-pjax="#container">Incomplete</a></span></td> 
     @else 
      <td></td> 
    @endif 
</div> 

マイPjaxとAjaxのコードは次のとおりです。 -

$(document).ready(function() { 
     $(".status").click(function() { 
      var status = $(this).attr('status'); 
      var id = $(this).attr('id'); 
      $.ajax({ 
       type: "GET", 
       url: "{{route('task.status.update')}}", 
       data: {status: status, id: id, "_token": "{{ csrf_token() }}"}, 
       success: function() { 
        $(document).pjax('[data-pjax] a, a[data-pjax]', '#pjax-container') 
       } 
      }); 
     }) 
    }); 

私の正確なニーズは、私はちょうどアヤックスからのデータを更新しようとすると、データベース内のタスクのステータスを変更するmでありページリフレッシュなしにリロードされ、data-pjax = "#container"アンカーセクションで言及した内容を開いたりリダイレクトしたり、コンテナdivセクションのみをリロードしたりしています。この問題を解決するために誰かが私を助けることができれば、私は素晴らしいと感謝しています。私のコードは完全なページをリロードするだけです。しかし、私はちょうどコンテナdivセクションをリロードするだけです。

+0

ページ全体をリフレッシュするか、コンテンツを追加しますか?記述してください。 –

+0

一部のHTMLコンテンツセクション。 –

+0

HTMLコンテンツセクションのコピーを作成する必要があります。このセクションは、別のブレードファイルでクリックすると変更されます。その後、リンクをクリックすると、小さな関数をレンダリングしてからajax呼び出しに応答を返すコントローラ関数にajax呼び出しを行います。今、成功すれば、現在のセクションの内容をレスポンスに置き換える必要があります。 –

答えて

1

サーバー側の部分的なビューをレンダリングしてdivを入力し、jsonレスポンスで更新する必要があります。コントローラーのルートとメソッドを通る典型的なリクエストと同様に、ブレードテンプレートをロードしてレンダリングし、jsonレスポンスにデータとして格納することができます。その後、あなたが指定したコンテナにそれを注入するだけです。あなたがそうする必要がある場合は、それを容器に注入した後に行う必要があることに留意してください。

+0

あなたの答えをありがとう。私は試していますが、それはまたフルページを読み込むことになります。 –

+0

data-pjaxコンテナのみを埋めたいと思ったので、今度はフルページも欲しいと言いましたか? – btl

+0

はい。しかし、各クリックでdata-pjaxセクションが変更されました。 –

関連する問題