との選択ボックスを移入することはできません。オプションには、REST呼び出しを介してサーバから取得され、その後、選択ボックスを移入するために使用されています。は、私はjQueryので移植されている選択ボックスを持っているjqueryの
アプリケーションもオフラインで動作するようになっているが、オフライン時にこれらのREST呼び出しは失敗します。だから私がやっているのは、RESTの呼び出しが実際に通り過ぎるときに、これらの値をlocalStorage
の中に保存し、オフラインでREST呼び出しが失敗したときに、localStorage内に格納された値を取得して、
は、しかし、選択ボックスは空のまま表示されます。私はコンソールに格納された値を表示し、実際に正常に格納され、取り出されたところで、これらの値が表示されます。なぜ私の選択ボックスがまだ空に見えるのか分かりません。
$.getJSON("/openmrs/ws/rest/v1/location", function(result) {
var locations = $("#identifierLocations");
localStorage.setItem("locations", result.results);
$.each(result.results, function() {
locations.append($("<option />").val(this.uuid).text(this.display));
});
}).fail(function(jqXHR, textStatus, errorThrown) {
var data = localStorage.getItem("locations");
if (data) {
var locations = $("#identifierLocations");
for (var i = 0; i < data.length; i++) {
locations.append($("<option />").val(data[i].uuid).text(data[i].display));
}
}
});
私は.fail()
内console.log
を使用し、私はそのデータが実際に保存されているすべての場所のオブジェクトを持っていますが、なぜ私の選択ボックスが空のまま表示されない確認することができます。 localStorage
は文字列だけを保持することができるので
あなたのHTMLも投稿できますか? – Drala
'localStorage'は文字列しか保持できません。格納する前に 'result.results'をシリアライズしてから、それらをデシリアライズして返す必要があります –
localstorage.setItem(" location "、JSON.stringify(result.results)) とJSON.parse(data)を使用します –