ページの負荷を軽減するために、負荷の高いすべてのデータベース クエリを WebMethods/Ajax から除外し始めました。
以下に例を示します。
protected void Page_Load(object sender, EventArgs e)
{
//Do Heavy load query which takes long
}
後:
<script type="text/javascript">
function getOnlineList() {
PageMethods.UpdateOnlineList(callbacksuccessOnline, callbackfail);
}
</script>
現時点ではこれでうまくいきます。しかし、サイトの 10 回の読み込みのうち 1 回で JavaScript がメソッドを見つけられないという問題があるため、PageMethod "UpdateOnlineList" not found-error が発生し、何も読み込まれません。これは、ブラウザが問題を起こし、JS がクエリを実行しようとしたときに PageMethods が正しくロードされない場合に発生すると予想されます。
それで、メソッドがここにある後に私のJSが実行されるのを安全にするにはどうすればよいですか?JavaScript-PageLoad-Event または Application Ready イベントについてよく読みましたが、正確な違いと、どちらが自分に適しているかわかりません!
私を助けてください :)