問題タブ [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.

0 投票する
1 に答える
1991 参照

perl - Mojoliciousの他のコントローラーでアクションを呼び出す方法は?

Mojoliciousフレームワークを使用するアプリケーションがあります。エラー応答のリストとそれに関連する追加の詳細を含むテーブルがデータベースにあります。DBテーブルを操作するために、対応するResultとResultsetを作成しました。結果セットを操作してエラーの詳細を取得するコントローラーもあります。

私の考えは、このコントローラーでアクションを呼び出して、データベースにクエリを実行することで(別のコントローラーによって)渡されたエラーの詳細を取得し、結果としてリソースを要求した環境に関するランタイム情報を追加することです。エラーが発生した場合は、応答を作成して、それを呼び出したコントローラーに戻ります。

あるコントローラーから別のコントローラーへの呼び出しに苦労しています。Mojoliciousでそれを行うにはどうすればよいですか?これを実現するためにコントローラーオブジェクト($self)を渡すことはできますが、エラー処理応答を呼び出し元のコントローラーから完全に分離するためのより良い方法はありますか?

0 投票する
1 に答える
517 参照

json - MongoDBコントローラーアイテムをperlでJSONに変換しますか?

方法があるところ

データを直接json文字列にプッシュして変換できる方法はありますか?

データをMojoliciousにプッシュします

0 投票する
1 に答える
158 参照

perl - タイムアウト時のJquery.get動作?

私は Web コーディングが初めてで、最近 JQuery で遊んでいます。いくつかの動作に気付き、それが正常な動作であり、それに対処する最善の方法であるかどうかを知りたいと思いました.

Web サーバーへの単純な取得を行っていますが、サーバーが結果を返すのに数分かかる場合があります。私が気付いたのは、サーバー側のコードが複数回呼び出されていることです。この場合、「/userprofile」は最大 3 回呼び出すことができます。

私の質問は次のとおりです。

1) これは正常な動作ですか? 2)そうであれば、余分な呼び出しを行っているのはJQueryですか、それともブラウザですか? 3)これを処理する良い方法は何ですか?

質問3への回答は難しいかもしれませんが、何か助けていただければ幸いです。

どうもありがとう。

アップデート:

みんなありがとう、

バックエンドデータベースが小さいため、その正確な呼び出しで問題を生成することはできませんが、別の同一の呼び出しで問題を生成できます。get の直前にアラート呼び出しを入れ、一度だけ呼び出されました。私は Mojolicious ウェブフレームワークを使用しているので、それと何か関係があるのでしょうか? Morbo Web サーバーを使用しています。

この動作を示している私のコードは次のとおりです

utile::connectToDevice の応答に時間がかかる場合、コールバック全体が再度呼び出されていることがわかります。

そして、これが私の morbo ウェブサーバー ログからの出力です。2 つの呼び出しを受けているように見えます。

0 投票する
1 に答える
783 参照

perl - Mojolicious::Lite の内部でエラーを適切な形式でレンダリングする

エラーが発生する可能性のあるunderステートメントがあります (たとえば、認証エラー)。under全体でコンテンツ ネゴシエーションを使用しており、内部のエラーを適切な形式で返したいと考えています。コード例:

render内部underで使用できますが、機能しrespond_toません。おそらくunderそのために働いています。しかし、その場合、どうすればよいでしょうか?

0 投票する
2 に答える
322 参照

perl - 特定の文字を認識しないPerlスクレイピングスクリプト

ローカルで正常に動作するスクリプトがありますが、サーバーで失敗します。

ノーブレークスペース記号が表示されます

なので

標準出力に印刷する場合。

ページの解析で、ノーブレークスペース記号を削除しようとすると

何も起こらず、疑問符を取り除くこともありません

何があってもくっつくようです。

奇妙なことに、これはスクリプトをローカルで実行する場合の問題ではありません。

ただし、ローカルマシンとサーバーの両方での問題は、アポストロフィ(アキュートシンボルとしてスクレイピングしているHTMLで表されている)です。

常に疑問符として表されます

明示的に試みても

混乱している、plsは助けます。

0 投票する
1 に答える
2756 参照

jquery - CORS: jQuery.ajax 経由で Mojolicious::Lite から常に空の応答を取得する

jQuery を使用して、作成中のMojolicious::LiteAPI からデータを取得しています。しかし、Ajax 経由で API からデータを受け取ることができません。経由でデータを取得できcurlます。

更新:同じドメインにいる場合、Ajax 経由でデータを取得できます。CORSの問題です。

これが私のクライアントコードです:

API コードは次のとおりです。

すべてのリクエストのヘッダーとデータは次のとおりです。

OPTIONS /path:

POST /path:

問題が私の JS にあるのか Perl のコードにあるのかわかりません。

更新:おそらくJSコード上。 更新: CORS は問題ないようです。

0 投票する
2 に答える
1231 参照

perl - Perl と Mojolicious を使用して、認証されたユーザー エージェントのログイン/ページ スクレイプを置き換えます

Mojolicious のみを使用して動作するように、古い Perl モジュールを使用して記述された古い Web スクレイピング スクリプトをいくつか移植しようとしています。

Mojo でいくつかの基本的なスクリプトを作成しましたが、安全なログイン サイトを使用する認証済みログインと、これをスクリプトでどのように処理する必要があるかについて戸惑っていMojo::UserAgentます。残念ながら、ドキュメントで確認できる唯一の例は、フォームを使用しない基本認証です。

Mojo:UserAgent で動作するように変換しようとしている Perl スクリプトは次のとおりです。

したがって、上記は正常に機能します。Mojolicious で同じ仕事をするように変換するにはどうすればよいですか?

0 投票する
1 に答える
1742 参照

perl - Mojolicious User Agent を使用した HTML の解析

私はこのようなhtmlを持っています

h1 と h2 の間のコンテンツはさまざまです - Mojo::Dom で css セレクターを使用して、たとえば、h1 または h2 のコンテンツ、または p タグを選択できることは知っていますが、h1 と h2 の間のすべてを選択するにはどうすればよいでしょうか? または、より一般的には、指定された 2 つのタグのセットの間のすべてでしょうか?

0 投票する
2 に答える
1546 参照

perl - mojoliciousでJSONPUTリクエストをテストする

Mojoliciousフレームワークを使用して開発したアプリのテストケースを作成しています。行われたREST呼び出しに対する適切な応答についてルートをテストしています。サーバーとクライアント間の通信手段としてJSONを使用しています。テストしGET、リクエストするには、次の関数を使用しますPOSTDELETE

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リソースのプロパティであり、期待されるステータス応答はです。testtesting put204

コントローラへのマッピングは、このルートによって実行され ます。このルートは、コントローラのメソッドを$r->route('/application/instances/system/:id, id => qr/[A-Za-z0-9 ]+/ -> via('put') ->to(controller => 'system', action => 'update_sys');
呼び出し、それがリソースの配置方法です。 update_syssystem

0 投票する
1 に答える
542 参照

perl - MojoX::Sessions の Cookie の有効期限を設定するにはどうすればよいですか?

expires()またはに与える有効期限の値に関係なくexpires_delta()、Cookie の有効期限は常に 1 時間です。セッションと Cookie の有効期限が一致するように変更するにはどうすればよいですか?