2013-04-03 2 views
0
$(document).ready(function() { 

      console.log(getJ()); 
      function getJ() { 
       $.getJSON('json.json', function(data) { 

        $.each(data, function(key, val) { 
         console.log(key); 

        }); 
       }); 

      } 

     }); 

Над одним моего HTML-код и ниже одного код моего json.json файла304 Not Modified сообщения показывая при попытке разобрать файл JSON с помощью JQuery

{ 
    "message": { 
     "success":"Information inserted successfully.", 
     "update":"Information updated successfully.", 
     "delete":"Information deleted successfully.", 
    }, 
    "Jennifer": { 
     "status":"Active" 
    }, 
    "James": { 
     "status":"Active", 
     "age":56, 
     "count":10, 
     "progress":0.0029857, 
     "bad":0 
    } 
} 

когда я пытаюсь разобрать эту кучу коды он показывает сообщение 304, и я не получаю никаких необходимых результатов.

+0

Это значит, что результат вашего разбора был кеширован –

+0

Как решить эту проблему. –

+1

ok Я нахожу свое решение. в строке «удалить»: «Информация удалена успешно». есть дополнительная запятая (,), которая вызывает мою проблему, и она показывает сообщение 304. –

ответ

0

, поскольку ваш JSON не в массиве .. вам не нужно использовать $.each .. получить его непосредственно с .

здесь

$.getJSON('json.json', function(data) { 

       console.log(data.message.success); //show Information inserted successfully. 
       console.log(data.Jennifer.status); //Active 
      }); 
+0

не уверен, если вы имеете в виду с _don't должны использовать_, чтобы он не работал или вам не нужно было использовать 'each'. поэтому я просто хочу упомянуть, что 'jQuery.each' работает как для _objects_, так и для _arrays_. –

+0

Я хочу сказать .. вы можете получить свой соответствующий json-объект непосредственно с оператором '.', не используя функцию' each' .., так как его json-объект не в массиве .. я думаю, что получить его прямо лучше ... :) :) .. в любом случае, обновляя мой ответ ... – bipen

0

Вы можете сделать URL уникальным:

$.getJSON('json.json?_=' + new Date().getTime(), function(data) { 
    $.each(data, function(key, val) { 
     console.log(key); 
    }); 
}); 

Или используйте $.ajax:

$.ajax({ 
    url: 'json.json', 
    dataType: 'json', 
    cache: false, 
    success: function(data) { 
     // ... 
    } 
}); 
Смежные вопросы