私は、レスポンスをフォーマットし、クライアントに応答し、クライアントがレスポンスを受け取った場合にのみデータベースに何かをコミットするアクションを望みます。私がafter_filtersについて理解していることから、クライアントに送信される前に応答を傍受するだけです。何か案は?クライアントへの応答が成功した場合にのみ、Railsで何かできますか?
0
A
答えて
0
私が知る限り、クライアントが追加の要求を送信するようにクライアントに指示する以外のアプリケーションレベルでメッセージを受信したことを確認する信頼できる方法はありません。 javascriptで。
クライアントに200のメッセージを受け取るのではなく、APIを使用して成功したトランザクションのリストをAPIの他の場所に置くことで、クライアントがそのリストを積極的に訪問してトランザクションが行われることを確認できます。
0
これは他の解説者にもかかわらず、これは妥当なことだと思います。私は承認を送るjavascriptを書く彼のアプローチに同意する。
私はトランザクションをその期間開いたままにしないので、暫定フラグを付けてデータを保存することをお勧めします。謝辞を受け取ったら、そのデータを確認済みとしてマークしてください。
関連する問題
- 1. 成功した応答は何ですか:ajaxの関数(応答)
- 2. 呼び出しが成功した場合の応答本体null(アンドロイド)
- 3. サードパーティアプリケーションでエラーが発生した場合の応答コードは何ですか?
- 4. Ionic:成功した場合のJSON応答データの個別値の取得
- 5. UJS成功した場合はhtml、失敗した場合はjsに応答してください。
- 6. JSON/AJAXの応答が成功したときにオンスクリーンHTMLを変更できますか?
- 7. SpringSecurityでAuthenticationProviderが成功した後に何かしますか
- 8. ServerResourceからのクライアントへのストリーミング応答
- 9. jspページのサブミットが成功した場合にのみフィールドをクリアします
- 10. クライアントがiOSでクライアント証明書を提供しない場合、SSL接続は成功しますか?
- 11. cordova angularjsモバイルアプリが成功応答コールバック(ネットワークコール)からデータを取得できませんでしたか?
- 12. 成功? 'sent':成功しなかった場合は 'failed'がデフォルトで 'sent'になります。どうして?
- 13. Matplotlibのベースマップポリゴンはエラーをスローしますが、何かがプロットされた場合に成功します
- 14. GCM応答の成功が、iOSデバイス
- 15. node.jsはmongoに挿入成功した後に応答しますか?
- 16. AJAXで成功しなかった場合の警告メッセージ
- 17. 要求が成功した場合、どのように "解析応答"オブジェクトを取得し、オブジェクトを私のviewmodelクラスで使用するのですか?
- 18. JDBC: `con.rollback()`は`con.commit`が成功しなかった場合にのみ有効ですか?
- 19. ログインフォームを$ .getで検証し、成功した場合にのみ投稿する
- 20. クライアントまたはサーバーでREST応答をクリーンアップしますか?
- 21. Rails - 応答文がif文でラップされたときに応答しない
- 22. 要求が成功したにもかかわらずfetchの応答が空です
- 23. socket.ioはクライアントが応答するまでループしますか?
- 24. pdfmakeはpdfの生成が成功した場合、または失敗した場合に何を返しますか?
- 25. MSG_PEEKの非ブロックrecvが成功した場合、MSG_PEEKのない次のrecvも成功しますか?
- 26. 最初の成功した応答を取得した後、サーバーからの応答の奇妙なシリーズ
- 27. コールAJAX成功応答
- 28. エラーが発生した場合、どのように応答を変更できますか?
- 29. は$ http応答で成功メッセージを表示します
- 30. カバレッジチェックが成功した場合にのみgrailsプロジェクトを構築する
これは非常に愚かです。なぜクライアントが何かを要求してからあなたの応答を無視すると思いますか?クライアントから何らかの確認を得ることはできませんし、クライアントを探す必要もありません。可能であれば、レスポンスにJavaScriptを組み込んで*秒のリクエストをトリガし、データベースへの書き込みをリクエストすることができます。あなたはこれを行うべきではありません。 – meagar
詳しくは、接続レベルの失敗を参照しています。 HTTP 200レスポンスが失敗した場合にのみ、取引をしたいと思います。私がAPIのエンドポイントを提供していて、私の呼び出し元が私が行ったことを確認できないことをしたくない理由はたくさんあります。 –
TCP/IPのままにしておきます。あなたがクライアントがあなたの応答を無視した場合、それはあなたの問題ではない層で動作しています。 – meagar