JSON не распознается - PullRequest
       11

JSON не распознается

0 голосов
/ 15 апреля 2010

У меня возникли проблемы с распознаванием моего JSON на моей веб-странице. Я проверил JSON, что я получаю возвращение с сервера, так что я знаю, что это правильно, однако моя функция javascript ничего с этим не делает. Моя функция успеха выглядит следующим образом:

success: function(data) {
  $('input[name=customer_name]').val(data.name);
  $('textarea[name=customer_address]').text(data.address);
  $('input[name=customer_email]').val(data.email);
  $('input[name=customer_tel]').val(data.tel);
  $('input[name=user_id]').val(item.id);
}

Тем не менее, поля не заполняются данными, которые возвращаются, если это поможет, образец моих данных JSON:

{
    "name": "Terry O'Toole",
    "address": "Terrys House\nTerry Street\nTerrysville\nTerrytown\nTT1 6TT",
    "email": "teryy@two.com",
    "tel": "05110000000"
}

Любая помощь будет оценена.

[EDIT]

Расширенный вызов ajax:

$.ajax({
  url: "<?php echo site_url('user/users/ajax'); ?>",
  type: 'POST',
  data: {"userid": item.id},
  success: function(data) {
    $('input[name=customer_name]').val(data.name);
    $('textarea[name=customer_address]').text(data.address);
    $('input[name=customer_email]').val(data.email);
    $('input[name=customer_tel]').val(data.tel);
    $('input[name=user_id]').val(item.id);
  }
 })
});

1 Ответ

6 голосов
/ 15 апреля 2010

Я так понимаю, вы используете jQuery (из функции val, которую вы используете). Вы задаете параметр dataType для $.ajax? E.g.:

$.ajax({
    url: "blah",
    dataType: "json",
    success: ...
});

Если нет, возможно, он не угадывает правильно (возможно, вы не отправляете обратно правильный тип контента?), И вам придется использовать JSON.parse для него. Но лучше всего A) Установите правильный тип содержимого в ответе и B) используйте dataType, чтобы выразить свое намерение в коде.

Редактировать Только что видел ваши изменения. Обязательно попробуйте добавить dataType.

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