1

非同期の ajax 投稿を行っているときに、本番環境で異常な状況が発生しました。

<script type="text/javascript">
    Mylib.defined('jQuery', function() {
        jQuery.ajax({
            'type':    'POST',
            'url':   '/my/url.html',
            'async':   true,
            'cache':   false,
            'global':  false,
            'data':    {
                    'param1': 'value1' ,
                    'param2': 'value2'
            }
      });
  });

Mylib.defined(functionality,callback())機能がロードされるのを待ってから、コールバック関数をトリガーします。

/my/url.m は mason ファイルで、投稿データに存在する必要がある「param1」を必須にした 2 つのパラメーターを取り出します。

/my/url.mの内容

<%args>
    param1
    param2 => undef
</%args>
<%perl>
   -----
 </%perl>
<%args>

問題

キー param1 がハードコードされている (value1 は動的ですが) ajax 呼び出し (上記の JS を参照) から JSON データを投稿しているので、エンドポイント (mason ファイル) が無効になる状況には決してならないという感覚がありました。必須の param1 を渡す必要はありません。しかし驚いたことに、mason ファイルに param1 が渡されていないケースが非常に多くありました。私はこれを手に入れることができませんでした.誰かが私を助けてくれますか?

Web クローラーは、引数なしで URL /my/url.html をヒットできますか?

4

0 に答える 0