2

Laravelを使用してWebアプリを開発していますが、この「奇妙な」動作に遭遇しました。一部のコントローラーアクションは2回呼び出されます。私のログには(1ページの更新で)2つの完全なエントリセットが表示されるため、私はそう知っています。私のコントローラーアクションは次のように始まります:

public function action_edit($rid=-1) {
    // Calc Input
    $id  = Input::get('id', $rid);
    Log::TWICE("?? {$id} - {$rid}");

ここで、$ ridはURLの要求に応じて編集するオブジェクトIDですが、入力でIDを取得した場合は、代わりにこのIDを使用します。したがって、次のようなURLを介してコントローラーを呼び出すと、次のようになります。

... / mycontroller / edit / 1

ログファイルに2つのエントリがあります。

2013-02-07 00:49:15 TWICE - ?? 1 - 1
2013-02-07 00:49:16 TWICE - ?? img - img

最初のものは私が見るべき正常なものですが、2番目のものはそれがどこから来ているのかわかりません。Chromeの開発ツール([ネットワーク]タブと[コンソール]タブの両方)を使用して確認しましたが、2番目のリクエストの兆候はありません!! 私は当初、相対URLがimgまたは../imgのリソースを使おうと思っていましたが、手がかりが見つかりませんでした。もちろん、imgはテンプレート上の画像フォルダの名前ですが、コード内に相対URLimg自体はありません...

この問題に関して何か提案はありますか?コードの他のどこで調べ/確認する必要がありますか?他に何が2番目の呼び出しをトリガーできますか?

:コードのある時点で次の呼び出しを使用していますが、参照されるアクションは「編集」ではなく「表示」です!!

Laravel \ Routing \ Controller :: call($controller。'@ show'、..。

前もって感謝します!

パン


4

3 に答える 3

6

これはおそらく、ファビコンを要求しようとしているブラウザです。

curlを試してみると、リクエストが表示されない可能性があります。

于 2013-02-07T07:55:49.210 に答える
0

同様の問題が発生しました。原因は、遅れていたトレンドマイクロファイアウォールでした。

データセンターは送信されたすべてのURLをクロールしていたため、2回ヒットしました。

この投稿には詳細があります

http://community.trendmicro.com/t5/Worry-Free-Business-Security/WFBS-Trend-Micro-sending-our-data-from-an-IP-in-Tokyo/td-p/15600

私は、TrendMicrosリンクサイトチェックからサイトを除外すると言った私たちのウェブ管理者に話しました

于 2014-01-15T05:09:45.943 に答える
0

これは古い質問ですが、解決策を検索するとGoogleの結果の上部に表示されるので、最終的に問題を見つけた後でこの回答を追加することにしました。

正解としてマークされた現在の回答は部分的にのみ正解です。画像に関連していますが、ファビコンに限定されません。

どういうわけか、すべての主要なブラウザ(少なくともIE、Firefox、Chromeの場合)は、画像であるはずの場所に空のリンクが提供されている場合、それを現在のURLにすることを決定します。問題を引き起こす可能性のある場所の例:

<img src="">
<div class="background-image:url()"></div>
<link rel="icon" type="image/x-icon" href="">

リンクを提供するか、単に行を削除すると問題が解決します。

于 2017-03-29T09:22:33.980 に答える