非同期の 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 をヒットできますか?