Использование объекта JSON - PullRequest
0 голосов
/ 14 января 2011

ОК, поэтому у меня есть этот скрипт, который отправляет ввод поля поиска в .php и возвращает объект JSON в jquery.Как я могу теперь изменить содержание div.Возвращаемый объект JSON выглядит следующим образом:

{"0":"Aardappelen rauw","voedsel":"Aardappelen rauw","1":"88","calorien":"88"}

Как я могу сказать, что 'Aardappelen rauw' должно быть в div1 и 88 в div 2, например?Я пытался с data.voedsel и data.calorien, но это не работает ..

в голове:

<script type="text/javascript">
function contentDisp()
{

$.ajax({
  type: 'POST',
  url: 'getFood.php',
  data: {'foodnametextbox' : $('#food').val() },
  datatype: "json",
  success: function(data){ 

    $('.second').replaceWith(data);

  }
});


}
</script>

в теле:

<div class="container">
  <div class="inner first">Hello</div>
  <div class="inner second">And</div>
  <div class="inner third">Goodbye</div>
</div>

Ответы [ 3 ]

2 голосов
/ 14 января 2011

dataType: 'json' автоматически вызовет parseJSON. Тогда вы сможете сделать data['0'] (или data.voedsel), чтобы получить 'Aardappelen rauw'.

РЕДАКТИРОВАТЬ : Изменить datatype: "json" на dataType: "json". 'T' в 'type' должно быть прописным.

1 голос
/ 14 января 2011

replaceWith принимает строку HTML, элемент DOM или объект jQuery.Объект данных JSON не является ни тем, ни другим.Я думаю, вы хотите что-то вроде этого:

$('.second').text(data["0"]);

РЕДАКТИРОВАТЬ: Не используйте eval .Ваш вариант ajax неверен.Это должно быть dataType: 'json'.Обратите внимание на столицу T.

1 голос
/ 14 января 2011

Вы можете использовать .parseJSON() http://api.jquery.com/jQuery.parseJSON/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...