LARAVE + AJAX機能 - 「アクティブ化」状態の更新ビュー -- php フィールド と ajax フィールド と laravel フィールド 関連 問題

Laravel + Ajax function - update view on 'activated' state












0
vote

問題

日本語

私はajaxと働き始めました、そして私はちょっと立ち往生しています。私は私のビューに表示される必要があるすべての値を 'get'に 'Get'を取得し、それをHTMLとしてフォーマットするというajax関数を持っています。 ビューに表示されているニュースを更新する方法は、私のビューでスクリプトを呼び出して、間隔(1000ms)を持ちます。

今度は、ニュース投稿が有効になっているとき(POSTが0からgt; 1から切り替えられたとき)のみ、私のコントローラによってのみ実行しようとしています。そして投稿が有効になっていない場合は、デフォルトの「ニュース」を表示したいです。

私はすべての解決策に開かれています!ありがとう!

ビュー:

<事前> <コード> <!-- News Activator --> <script> setInterval(function () { ajaxGetAllActiveNews(); }, 1000); </script>

Ajax機能:

<事前> <コード> function ajaxGetAllActiveNews() { $.ajax({ url: '/api/infoskjerm', method: 'GET' }).error(function (msg) { console.log(msg); }).done(function (news) { console.log(news); var titleToAppendToView = []; $(news).each(function (key, value) { titleToAppendToView.push('<td>' + value.title + '</td>'); }); $('#title').html(titleToAppendToView); var authorToAppendToView = []; $(news).each(function (key, value) { authorToAppendToView.push('<td>' + value.author + '</td>'); }); $('#author').html(authorToAppendToView); var messageToAppendToView = []; $(news).each(function (key, value) { messageToAppendToView.push('<td>' + value.message + '</td>'); }); $('#message').html(messageToAppendToView) var picturePathToAppendToView = []; $(news).each(function (key, value) { if (typeof value.picture_path !== 'undefined' && value.picture_path.length > 0) { picturePathToAppendToView.push('<img src="../uploads/' + value.picture_path + '"> </img>'); } }); $('#picture').html(picturePathToAppendToView); }); }

AjaxとActive Newsのための私のコントローラー:

<事前> <コード> public function toggleActive($id) { $news = News::findOrFail($id); $input = Input::except(['_token']); if($news->active == 0) { $news->active = 1; $news->update($input); } else { $news->active = 0; $news->update($input); } return Redirect::to('adminpanel/newsmodule'); } //Skriver ut alle active nyheter til infoskjerm view public function ajaxGetAllActiveNews() { $news = News::where('active', '=', '1')->get(); return Response::json($news); }
英語

I just started working with ajax, and i am kinda stuck now. I have a ajax function that 'GET' all the values i need to be shown in my view and formats it as html. The way i do it now to update the news that are shown in the view, is i call on the script in my view and let it have a interval (1000ms).

Now I am trying to figure out how to only run ajaxGetAllActiveNews() when a news post is activated (when a post is toggled from 0 -> 1) by my controller. And if no posts are activated i want a default 'news' to be shown.

I am open to all solutions! Thanks!

The view:

 <!-- News Activator -->     <script>         setInterval(function () {             ajaxGetAllActiveNews();         }, 1000);     </script> 

Ajax function:

function ajaxGetAllActiveNews() {     $.ajax({         url: '/api/infoskjerm',         method: 'GET'     }).error(function (msg) {         console.log(msg);     }).done(function (news) {         console.log(news);          var titleToAppendToView = [];          $(news).each(function (key, value) {             titleToAppendToView.push('<td>' + value.title + '</td>');          });          $('#title').html(titleToAppendToView);           var authorToAppendToView = [];          $(news).each(function (key, value) {             authorToAppendToView.push('<td>' + value.author + '</td>');          });          $('#author').html(authorToAppendToView);           var messageToAppendToView = [];          $(news).each(function (key, value) {             messageToAppendToView.push('<td>' + value.message + '</td>');          });          $('#message').html(messageToAppendToView)           var picturePathToAppendToView = [];          $(news).each(function (key, value) {               if (typeof value.picture_path !== 'undefined' && value.picture_path.length > 0) {                 picturePathToAppendToView.push('<img src="../uploads/' + value.picture_path + '"> </img>');             }          });          $('#picture').html(picturePathToAppendToView);      }); } 

My Controller for ajax and active news:

public function toggleActive($id) {     $news = News::findOrFail($id);     $input = Input::except(['_token']);          if($news->active == 0) {             $news->active = 1;             $news->update($input);         }         else {             $news->active = 0;             $news->update($input);         }     return Redirect::to('adminpanel/newsmodule'); }    //Skriver ut alle active nyheter til infoskjerm view public function ajaxGetAllActiveNews() {     $news = News::where('active', '=', '1')->get();     return Response::json($news); } 
</div
        

回答リスト

0
 
vote

WebSocket( http://socketo.me/ )を使用できます。これにより、ZMQを介してプッシュアンドプルをプランス( http://zeromq.org/bindings:php ) 。そしてクライアント側の処理のためにあなたはオートバーン(href="http://autobahn.ws//autobahn.ws//autobahn.ws/ / http://autobahn.ws/ )を必要とするかもしれません。

 

You can use WebSocket (http://socketo.me/). This will allow you to push and pull via ZMQ (http://zeromq.org/bindings:php). And for client side handling you might need Autobahn (http://autobahn.ws/).

</div
 
 
0
 
vote

もう少し検索した後、私はこのコードをこれに書き直します。コードはデータベースからすべてのアクティブなニュースを取得し、更新された場所にある3つの最新の投稿に制限します。その後、私のAjax関数はすべての投稿を受け取り、それらを私のビューに表示します。

私のコントローラー:

<事前> <コード> <div id="test"> <span class="one"></span> <span class="two">two</span> <span class="three"></span> <span class="four"></span> </div>1

と私のajax:

<事前> <コード> <div id="test"> <span class="one"></span> <span class="two">two</span> <span class="three"></span> <span class="four"></span> </div>2
 

After some more searching, i rewrote my code to this. The code now gets all active news from the database and limits it to the 3 newest posts that where updated. Then my ajax function takes all posts and shows them in my view.

My controller:

public function ajaxGetAllActiveNews() {     $news = News::where('active', '=', '1')->orderBy('created_at', 'desc')->limit(3)->get();     return Response::json($news); } 

And my Ajax:

function ajaxGetAllActiveNews() {     $.ajax({         url: '/api/infoskjerm',         method: 'GET'     }).error(function (msg) {         console.log(msg);     }).done(function (news) {         console.log(news);          var titleToAppendToView = [];          $(news).each(function (key, value) {              if (typeof value.picture_path !== 'undefined' && value.picture_path.length > 0)             {                 var imgpath = '<img id="news-picture" width="100%" src="/uploads/' + value.picture_path + '"></img>';             }             else             {                 imgpath = '';             }              titleToAppendToView.push('<div><h2>' + value.title + '</h2><h3>Utgiver: ' + value.author + '</h3><h4> Publisert: '                                     + value.created_at + '</h4><p>' + value.message + '</p>' + imgpath + '</div>');              $('#news-content').html(titleToAppendToView).append();         });     }); } 
</div
 
 

関連する質問

0  機能を持つLaravelテンプレート?  ( Laravel template with function ) 
現在、従来のコードベースを近代化し、Laravelを使用しています。 現在のインフラストラクチャは、値を印刷するためにこのようなものを行います: <事前> <コード> while($row = mysql_fetch_array($query) { e...

-1  Laravel Ajax "GET"の結果として500エラーが発生します  ( Laravel ajax get keeps resulting in 500 error ) 
すでにWebを検索していますが、大部分500のエラーは「POST」AJAXタイプになる傾向があります。 Ajaxメソッドを使用してサーバーからいくつかのデータを取得しようとしています。 私のスクリプトは次のとおり <事前> <コード> <script ty...

1  Ajax呼び出しURLの最大長  ( Ajax call url max length ) 
Ajax呼び出しURLの最大長は何ですか? Ajax URLが長すぎると404または401の応答が生成される可能性がありますか? 実際には、モジュールのリクエストURLが2043文字の長さであるMy Laraadminアプリケーションで発生します。 mo...

0  Laravel Telescope Novaリクエストを隠す  ( Laravel telescope hide nova requests ) 
すべてのNova関連のものの望遠鏡を無効にすることができますか? Novaでいくつかのクリックで、私の全体の望遠鏡は彼らの要求に満ちています。私はNova要求を気にしませんが、それらの要求の登録を無効にする方法を理解することはできません。 ...

1  MongoDBデータベースを使用したオブジェクトIDの配列に関連するLaravelでデータを取得するための最良の方法  ( Best way to get data in laravel related to array of object ids with mongodb data ) 
テーブルユーザーデータは以下の通りです。 <事前> <コード> _id:ObjectId("mongodbid"), name:"acdfgf", skills:[ObjectId("skills id"),ObjectId("skill id 2")], c...

0  ServiceProviderバインドクラスが見つかりません  ( Serviceprovider binded class not found ) 
ケース(L5.4) 現在、パッケージ開発 Laravel Offers Offers モデルをバインドする ServiceProvider を手に入れました( Niki::class ) <事前> <コード> class NikiServiceProvi...

0  Laravelコレクションでフィルタリングされているアイテムを注文する方法はありますか?  ( Is there a way to order items that are filtered in a laravel collection ) 
次のフィルタコードがあります。 <事前> <コード> $cards->filter(function($card) { if(str_contains($card->text, 'white') || str_contains($card->text,...

2  モデル工場とLaravelのDBシーダーの違いは何ですか?  ( What is the difference between model factory and a db seeder in laravel ) 
LaravelのモデルファクトリーとDBシーダーの違いは何ですか? ...

0  コードによるログインはLaravelで機能しないようです  ( Login by code seems to not work in laravel ) 
基本的には、私はあなたが特定のアカウントでログインしてからあなたをページにリダイレクトすることを可能にするリンクを電子メールで送信しようとしています。 このコードを使用して、LaravelでのURL機能を使用して、リンクを起動し、電子メールで送信することができ...

1  Laravelでは、要求が処理されているかどうかをどのように判断できますか?  ( In laravel how can it be determined whether a request is being processed ) 
WebサーバーまたはTinker / Worker / Alishから呼び出すことができるコードをいくつか持っています。コードは、Webサーバーから呼び出されているかどうかを判断する必要があります。 私は最初は要求がないときにrequest()がnullにな...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有