問題タブ [mojolicious]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - Mojoliciousの他のコントローラーでアクションを呼び出す方法は?
Mojoliciousフレームワークを使用するアプリケーションがあります。エラー応答のリストとそれに関連する追加の詳細を含むテーブルがデータベースにあります。DBテーブルを操作するために、対応するResultとResultsetを作成しました。結果セットを操作してエラーの詳細を取得するコントローラーもあります。
私の考えは、このコントローラーでアクションを呼び出して、データベースにクエリを実行することで(別のコントローラーによって)渡されたエラーの詳細を取得し、結果としてリソースを要求した環境に関するランタイム情報を追加することです。エラーが発生した場合は、応答を作成して、それを呼び出したコントローラーに戻ります。
あるコントローラーから別のコントローラーへの呼び出しに苦労しています。Mojoliciousでそれを行うにはどうすればよいですか?これを実現するためにコントローラーオブジェクト($self
)を渡すことはできますが、エラー処理応答を呼び出し元のコントローラーから完全に分離するためのより良い方法はありますか?
json - MongoDBコントローラーアイテムをperlでJSONに変換しますか?
方法があるところ
データを直接json文字列にプッシュして変換できる方法はありますか?
データをMojoliciousにプッシュします
perl - タイムアウト時のJquery.get動作?
私は Web コーディングが初めてで、最近 JQuery で遊んでいます。いくつかの動作に気付き、それが正常な動作であり、それに対処する最善の方法であるかどうかを知りたいと思いました.
Web サーバーへの単純な取得を行っていますが、サーバーが結果を返すのに数分かかる場合があります。私が気付いたのは、サーバー側のコードが複数回呼び出されていることです。この場合、「/userprofile」は最大 3 回呼び出すことができます。
私の質問は次のとおりです。
1) これは正常な動作ですか? 2)そうであれば、余分な呼び出しを行っているのはJQueryですか、それともブラウザですか? 3)これを処理する良い方法は何ですか?
質問3への回答は難しいかもしれませんが、何か助けていただければ幸いです。
どうもありがとう。
アップデート:
みんなありがとう、
バックエンドデータベースが小さいため、その正確な呼び出しで問題を生成することはできませんが、別の同一の呼び出しで問題を生成できます。get の直前にアラート呼び出しを入れ、一度だけ呼び出されました。私は Mojolicious ウェブフレームワークを使用しているので、それと何か関係があるのでしょうか? Morbo Web サーバーを使用しています。
この動作を示している私のコードは次のとおりです
utile::connectToDevice の応答に時間がかかる場合、コールバック全体が再度呼び出されていることがわかります。
そして、これが私の morbo ウェブサーバー ログからの出力です。2 つの呼び出しを受けているように見えます。
perl - Mojolicious::Lite の内部でエラーを適切な形式でレンダリングする
エラーが発生する可能性のあるunder
ステートメントがあります (たとえば、認証エラー)。under
全体でコンテンツ ネゴシエーションを使用しており、内部のエラーを適切な形式で返したいと考えています。コード例:
render
内部under
で使用できますが、機能しrespond_to
ません。おそらくunder
そのために働いています。しかし、その場合、どうすればよいでしょうか?
perl - 特定の文字を認識しないPerlスクレイピングスクリプト
ローカルで正常に動作するスクリプトがありますが、サーバーで失敗します。
ノーブレークスペース記号が表示されます
なので
標準出力に印刷する場合。
ページの解析で、ノーブレークスペース記号を削除しようとすると
何も起こらず、疑問符を取り除くこともありません
何があってもくっつくようです。
奇妙なことに、これはスクリプトをローカルで実行する場合の問題ではありません。
ただし、ローカルマシンとサーバーの両方での問題は、アポストロフィ(アキュートシンボルとしてスクレイピングしているHTMLで表されている)です。
常に疑問符として表されます
明示的に試みても
混乱している、plsは助けます。
jquery - CORS: jQuery.ajax 経由で Mojolicious::Lite から常に空の応答を取得する
jQuery を使用して、作成中のMojolicious::Lite
API からデータを取得しています。しかし、Ajax 経由で API からデータを受け取ることができません。経由でデータを取得できcurl
ます。
更新:同じドメインにいる場合、Ajax 経由でデータを取得できます。CORSの問題です。
これが私のクライアントコードです:
API コードは次のとおりです。
すべてのリクエストのヘッダーとデータは次のとおりです。
OPTIONS /path
:
POST /path
:
問題が私の JS にあるのか Perl のコードにあるのかわかりません。
更新:おそらくJSコード上。
更新: CORS は問題ないようです。
perl - Perl と Mojolicious を使用して、認証されたユーザー エージェントのログイン/ページ スクレイプを置き換えます
Mojolicious のみを使用して動作するように、古い Perl モジュールを使用して記述された古い Web スクレイピング スクリプトをいくつか移植しようとしています。
Mojo でいくつかの基本的なスクリプトを作成しましたが、安全なログイン サイトを使用する認証済みログインと、これをスクリプトでどのように処理する必要があるかについて戸惑っていMojo::UserAgent
ます。残念ながら、ドキュメントで確認できる唯一の例は、フォームを使用しない基本認証です。
Mojo:UserAgent で動作するように変換しようとしている Perl スクリプトは次のとおりです。
したがって、上記は正常に機能します。Mojolicious で同じ仕事をするように変換するにはどうすればよいですか?
perl - Mojolicious User Agent を使用した HTML の解析
私はこのようなhtmlを持っています
h1 と h2 の間のコンテンツはさまざまです - Mojo::Dom で css セレクターを使用して、たとえば、h1 または h2 のコンテンツ、または p タグを選択できることは知っていますが、h1 と h2 の間のすべてを選択するにはどうすればよいでしょうか? または、より一般的には、指定された 2 つのタグのセットの間のすべてでしょうか?
perl - mojoliciousでJSONPUTリクエストをテストする
Mojoliciousフレームワークを使用して開発したアプリのテストケースを作成しています。行われたREST呼び出しに対する適切な応答についてルートをテストしています。サーバーとクライアント間の通信手段としてJSONを使用しています。テストしGET
、リクエストするには、次の関数を使用しますPOST
DELETE
GET : get_ok()
POST: post_json_ok()
DELETE: delete_ok()
しかし、PUT
私は使用することができませんput_ok()
。また、put_ok()の使用例は、
my $t = Test::Mojo->new;
$t->put_ok('this/is/url/to/resource'=>{ "element" => "modified value"})->status_is(204)
毎回(400)に不正な要求ステータスを取得するため、テストが失敗することです。Test::Mojo
私は自分のアプリケーションをテストするために使用します。
追加情報:
$t->put_ok('http://localhost:3000/application/instances/system/test'=>{"model" => "testing put"})->status_is(204);
PUT
これは、試行される要求の正確なテストです。はに変更が試みられている
model
リソースのプロパティであり、期待されるステータス応答はです。test
testing put
204
コントローラへのマッピングは、このルートによって実行され
ます。このルートは、コントローラのメソッドを$r->route('/application/instances/system/:id, id => qr/[A-Za-z0-9 ]+/ -> via('put')
->to(controller => 'system', action => 'update_sys');
呼び出し、それがリソースの配置方法です。 update_sys
system
perl - MojoX::Sessions の Cookie の有効期限を設定するにはどうすればよいですか?
expires()
またはに与える有効期限の値に関係なくexpires_delta()
、Cookie の有効期限は常に 1 時間です。セッションと Cookie の有効期限が一致するように変更するにはどうすればよいですか?