代码之家  ›  专栏  ›  技术社区  ›  richzilla

JSON未被识别

  •  0
  • richzilla  · 技术社区  · 14 年前

    我很难让我的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 回复  |  直到 14 年前
        1
  •  6
  •   T.J. Crowder    14 年前

    我认为你使用的是jquery(来自 val 你使用的功能)。您是否指定了 dataType 参数到 $.ajax ?例如。:

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

    如果没有,可能是猜测不正确(也许你没有发送正确的内容类型?)你必须使用 JSON.parse 关于它。但最好是a)在响应上设置正确的内容类型,b)使用 数据库类型 在代码中表达你的意图。

    编辑 刚刚看了你的编辑。当然可以尝试添加 数据库类型 .