MVC アプリケーションがあります。私が持っているページは、いくつかのフィルター基準を取り、サーバーからデータを取得し、データに対して他の操作を行います。要件は、ページの読み込み時にフィルター処理されたデータがあってはならないということですが、ユーザーが何らかのフィルター条件を入力して何らかの操作を行うと、Ajax 呼び出しとページ更新の両方で、フィルター条件を保存して適用する必要があります。ユーザーが選択した設定を保存するためにamplify.jsを使用しています。ユーザーが更新/Ajax呼び出しを行うたびに、フィルター基準を保存しています。そして $document.ready で、フィルター条件を再度適用しています
問題は、データがクリアされないことです。そのため、ユーザーがアプリケーションを起動すると、フィルター条件が適用されます。$document.ready の基準をクリアすると、ユーザー操作に関するデータも失われます。
では、最初のページの読み込みとその後の更新/リダイレクト/Ajax 呼び出しを区別するにはどうすればよいでしょうか?
フィルターを適用するコードは次のとおりです。
var filterData = amplify.store.localStorage(filterKey) ? JSON.parse(amplify.store.localStorage(filterKey)) : defaultFilterData;
applyFilters(filterData);
filterData を格納するには、
amplify.store.localStorage(filterKey, ko.mapping.toJSON(filterData));
初期ロードとは、アプリケーションが初めて起動されたときのことです。私が直面している問題は、アプリケーションを閉じて再起動しても増幅がデータを保存することです..