【问题标题】:prolem in getting particular value from json string从 json 字符串获取特定值的问题
【发布时间】:2014-10-06 13:43:01
【问题描述】:

我想要 json 的第一个元素。但是使用 data.first 我什么也没得到。虽然 alert(data) 打印完整的 json 字符串请帮我解决这个问题

<?php 
include_once '../con_db.php';
$rf = $_POST['rf'];
$rid = $_POST['tid'];
$data = array("first" => "one","seconed"=> "two");
echo json_encode($data);
?>

ajax请求的jquery代码如下

$('.fbased').focusin(function(){
   var rf = $(this).attr('id');
   var tid = $("#test_id").val();
   $.ajax({
    type:'POST',
    url:'functions/ftable.php',
    data: 'rf='+rf+'&tid='+tid,
    datatype: "json",       
    success : function(data){
        $("#"+rf).val(data);
    }
  });
});

【问题讨论】:

  • 您必须使用data.firstdata.second
  • 带有大“T”的数据类型。我认为它区分大小写。然后简单地 $('#'+rf).val(data.first);
  • 我试过但没用
  • 是的,它对我有用@Ole Haugset。应该有数据类型

标签: php jquery json


【解决方案1】:
success : function(data){
    var parsed = JSON.parse(data);
    $("#"+rf).val(parsed.first);
}

【讨论】:

  • 如果您解释您的答案如何适合该问题,您的答案更有可能被接受。
【解决方案2】:

试试下面的代码

$('.fbased').focusin(function(){
   var rf = $(this).attr('id');
   var tid = $("#test_id").val();
   $.ajax({
    type:'POST',
    url:'functions/ftable.php',
    data: 'rf='+rf+'&tid='+tid,
    datatype: "json",       
    success : function(data){
        var obj = jQuery.parseJSON(data);
        $("#"+rf).val(obj[0]);
    }
  });
});

【讨论】:

    【解决方案3】:

    试试这个

    $('.fbased').focusin(function(){
       var rf = $(this).attr('id');
       var tid = $("#test_id").val();
       $.ajax({
        type:'POST',
        url:'functions/ftable.php',
        data: 'rf='+rf+'&tid='+tid,
        datatype: "json",       
        success : function(data){
            $("#"+rf).val(data.first); // here data.first represents the specific element of json
        }
      });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 2010-11-12
      • 1970-01-01
      • 2022-07-07
      • 1970-01-01
      相关资源
      最近更新 更多