JSON未被识别

时间:2010-04-15 12:13:27

标签: jquery ajax json

我在使用我的网页识别我的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"
}

任何帮助都将不胜感激。

[编辑]

扩展了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 个答案:

答案 0 :(得分:6)

我认为你正在使用jQuery(来自你正在使用的val函数)。您是否将dataType参数指定为$.ajax? E.g:

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

如果没有,它可能没有正确猜测(也许你没有发回正确的内容类型?),你将不得不使用JSON.parse。但最好是A)在响应上设置正确的内容类型,B)使用dataType在代码中表达您的意图。

修改刚刚看到您的修改。一定要尝试添加dataType