Показать сообщение отдельно
  #25 (permalink)  
Старый 01.07.2012, 14:27
Интересующийся
Отправить личное сообщение для Философ Посмотреть профиль Найти все сообщения от Философ
 
Регистрация: 21.08.2010
Сообщений: 20

Я написал выше что непонятно..но видимо остальное не так понимаю...сейчас вот немного изменил код опять(но мне кажется не правильно..но посты в хранилище записываются..но не выводятся..( и да, значение ключа post_ids стало почему то undefined)что ж опять не так в коде? Сейчас нужно хотя бы так изменить код, чтобы просто выводил сохраненные уже в хранилище базовые значения из JSON файла, потом уже на клик просто добавить код добавления поста.
// JavaScript Document
	$(document).ready(function(){
			var post, posts, postIds, prefix = "post_id_", postsIds_key = "post_ids";
			//Доавление постов в localStorage
			$.getJSON(
					'json/posts.json',
					function(data){
						postIds = $.map(data, function (post) {
					    var stringified = JSON.stringify(post);
					    localStorage.setItem(prefix + post.id, stringified);
					    return post.id;
				});	
			
			});

			postIds = JSON.stringify(postIds); // в принципе, можно было и join'ом

			localStorage.setItem(postsIds_key, postIds);

			postIds = localStorage.getItem(postsIds_key);

			if (postIds) {
			    postIds = JSON.parse(postIds);
			    posts = $.map(postIds, function (postId) {
			        post = localStorage.getItem(prefix + postId);
			        post = JSON.parse(post);
			        return post;
			    });
			} else { 
				$.getJSON(
					'json/posts.json',
					function(data){
						$.each(data, function(postIndex, post) {
	            			localStorage.setItem('post_id'+post['id'], JSON.stringify(post));
	           				posts += localStorage['post_id'+post['id']];
	        			})
				});	
			}
				//Выводим посты
				$.each(posts, function(entryIndex, entry) {
						var html = '<article><header><h3>';
						html += entry['title']+'</h3></header><section><p>';
						html += entry['body']+'</p></section><footer>';
						if(entry['tags']){
							html += '<div id="tags">';
							$.each(entry['tags'], function(tagIndex, tag){
								html += '<span class="label">' + tag + '</span>'
							});
							html += '</div><div class="controls"><a class="btn btn-danger btn-mini">удалить</a></div>';
						}
						html += '</footer></article>';
						$('#posts').append(html);
	       		 });		
	});
Ответить с цитированием