Oto, co robię,jak pracować z kanałem json zapisanym w localStorage w aplikacji phonegap?
Uzyskaj żądanie na mój serwer sieciowy, odpowiedź jest w json. Używanie szablonów jquery do renderowania danych wywołania zwrotnego w mojej aplikacji. Całkiem proste, działa jak urok.
Oto problem: chcę przechowywać niektóre z tych danych lokalnie, aby moja aplikacja nie musiała pobierać jej z serwera za każdym razem (3g jest wolne i każda transakcja rani moje UX ...). Oto, co próbowałem:
$.ajax({
url: app_domain + '/pages/home.json',
type: 'get',
datatype: 'json',
data: { mobile: "1" },
async: true,
cache: false,
success: function(data) {
//store locally
localStorage.setItem('foo', data);
//grab from local store
var bar = localStorage.getItem('foo');
// populate template with data
$.tmpl("cityTemplate", bar).appendTo('#all');
...
Nie można tego zrobić. (Zdaję sobie sprawę, że kod jest głupie, tylko dla łatwego debugowania, dopóki nie zmusić go do pracy)
Gdybym zrobić prosty
alert(foo);
po chwytając lokalnie przechowywane dane widzę coś takiego
[object, Object],[object, Object],[object, Object],...,[object, Object]
jeśli zrobić
alert(foo[0])
ja dostać
'['
jeśli zrobić
alert(foo[0].name);
ja dostać
'undefined'
Tak, mój najlepszy przypuszczenie to jest to spowodowane przez format danych coraz zmieniło od json ciąg przy przechowywaniu przez localStorage. Zgodziłbyś się? A jeśli tak, co mogę zrobić, aby przywrócić go do formatu json?
Dziękuję za tonę!
ahhh, fantastycznie. Dzięki za tonę! – istan