2012-04-21 3 views
0

Привет Может кто-нибудь помочь мне с загрузкой JSON в JQuery я могу только показаться, чтобы заставить его работать в этом structorПроблемы с JQuery загрузки JSON

{ «имя»: «ZEMI Все», «smpx»: "2564", "scuser": "zajihi", "scfollowers": "женский" }

Это страница формата у меня есть - http://newmusicproducer.com/filterable/indexj.php

Мой код ниже:

<script src="http://code.jquery.com/jquery-latest.js"></script> 
    <script type="text/javascript" language="javascript"> 
    $(document).ready(function() { 
     $("#driver").click(function(event){ 
      $.getJSON('test.json', function(data) { 
      $.each(data.results,function(){ 
       $('#stage').html('<p> Name: ' + data.name + '</p>'); 
       $('#stage').append('<p> Smpx : ' + data.smpx+ '</p>'); 
       $('#stage').append('<p> Scuser: ' + data.scuser+ '</p>'); 
       $('#stage').append('<p> Scfollowers: ' + data.scfollowers+ '</p>'); 
      }); 
      }); 
     }); 
    }); 
    </script> 
</head> 
<body> 
    <p>Click on the button to load results:</p> 
    <div id="stage" style="background-color:blue;"> 
      Display area. 
    </div> 
    <input type="button" id="driver" value="Load Data" /> 
</body> 
+0

Какая ошибка возникает у вас? Является ли файл на вашем сервере? Вы действительно загружаете 'test.json' или вы пытаетесь получить доступ к сайту выше? –

+0

нет ссылка - это формат, который я пытаюсь загрузить на том же сайте. никакая ошибка просто не получает никаких данных. –

ответ

1

Вы выполняете итерацию свыше data.results, но указанная вами ссылка показывает, что массив называется testData.

$.each(data.testData, function(val){ 
    $('#stage').html('<p> Name: ' + val.name + '</p>') 
       .append('<p> Smpx : ' + val.smpx+ '</p>') 
       .append('<p> Scuser: ' + val.scuser+ '</p>') 
       .append('<p> Scfollowers: ' + val.scfollowers+ '</p>'); 
}); 
+0

OK Я изменил код на это, и теперь он извлекает данные, но просто говорит undefined. –

+0

Просто сработал с вашим советом, а также должен был изменить $ ('# stage'). Html ('

Имя:' + data.name + '

'); до $ ('# stage'). Html ('

Имя:' + val.name + '

'); –

+1

Упс, пропустил это. Обновлен ответ для будущих читателей. Также в качестве примечания вы можете использовать цепочку вместо повторного выбора элемента '# stage' каждый раз. – Dennis

Смежные вопросы