2017-01-20 3 views
-1

動的にAJAXを使用してDBから新しいコンテンツをロード:Laravel - 私はまだアヤックスが動作し、私はこの問題が発生したかについて学んでいます

@getDashboardコントローラー:

$data = Post::latest()->get(); 

return view('view', ['data'] => $data); 

view.blade.phpはページ:

<div> 
    @foreach($data as $post) 
     <p>{{ $post->ad_title }}</p> 
    @endforeach 
</div> 

これは、データベースからのすべての投稿を読み込みますが、新しいものは最新表示時にのみ表示されます。私はAJAXを使っていると思いますが、どうやってデータベースから新しい投稿を読み込むことができますか?ありがとうございました。

+1

ウェブ上でいくつかのajaxチュートリアルを調べてみてください。これは* "how to" *チュートリアルサービスではありません。また、[ask]を読んでください。あなたの質問はあまりにもボラードですし、具体的に絞るべきです – charlietfl

+0

@charlietflあなたは正しいですが、私は簡単な解決策を望んでいましたが、実際のオンラインコースはもっと理解しやすくなりました。ありがとうございました。 –

答えて

-1

XMLHTTPリクエストを実行してページに結果を入力し、その関数の間隔を設定する関数を作成します。

PHPでは、ページに必要なすべてのデータを配列に取り込むことができます。あなたはそれをjson_encodeしてエコーアウトします。 content-typeヘッダーをapplication/jsonに設定してください。 、あなたがしたいと思うでしょう、あなたのJavaScriptで

:エラーが発生した場合には、

  • それを扱う情報
    • XMLHTTPリクエストは、それを検証し、配列
    • にそれをJSON.Parse (あなたの配列に情報が見つからないことがあります)
    • あなたのHTMLをアップデートしてください

    あなたのAjaxには2つのオプションがあります。最初はJavascriptに組み込まれたXMLHTTPRequestメソッドで、hereで読むことができます。代わりに、hereで読めるjQuery.ajaxがあります。どちらのページもあなたのために十分な情報を得ていなければなりませんが、そうでない場合は、あなたのためにいくつかの例を用意しています。

    幸運。

  • +0

    こんにちは、私に役立つドキュメントをリンクしていただきありがとうございますが、私はPHPのステップに固執しています、私はビューにjsonを送信したことはありません、どうすればいいですか?正しい軌道にいるのですか?私はこのコード行を 'return response-> json($ data);' returnビュー( 'view'、['data'] => $ data)の前に追加しました;しかし、それを行うことになっています。 –

    +0

    残念ながら、私はLaravelを使ったことはありません。しかし、リンクされたドキュメントに従って、データを配列に格納したら、次のようにします。 ' return response() - > json($ array); ' この詳細については、こちらをご覧ください:https://laravel.com/docs/5.3/responses –

    0

    はい、これはajaxを使用して行うことができます。

    JSONをLaravelコントローラから戻したい場合は、非常に簡単に行うことができます。 ビューの代わりにオブジェクトまたは配列を返すだけです。 LaravelはJSONを自動的に応答として返します。例えば

    getDashboardJson(){ 
        return Post::latest()->get(); 
    } 
    

    フォームAjaxあなたは、このメソッドの対応するURLを呼び出す場合、あなたはすべての最新の記事のJSONを取得します。

    +0

    こんにちは、私はいくつかの基本的なAjaxを使用することができました。それは私のスクリプトでsetIntervalを使って)しかし、私は私のポストのために同じことをしようとすると、何も起こりません、エラー、ただ空白のページ。 –

    関連する問題