如何从jQuery中显示返回的JSON

时间:2015-06-08 10:55:00

标签: javascript jquery json

如何从JSON值获取显示返回值。我需要获取用户ID的值

 $('User_id').observe('blur', function(e) {
   var txt = $('User_id').value;
   jQuery.ajax({
     type: 'get',
     url: BASE_URL + 'admin/index/user_id',
     data: {
       user_id: txt
     },
     dataType: 'json',
     success: function(data) {
       console.log('success' + data.success);
       if (data.success) {
         var Value = data.location.user_id;
         alert(Value);
       }
     }
   });
 });

这些值以html格式显示。在那里我需要将用户ID存储在Value varable中。但我收到成功定义为输出..

[{
  "user_id": "139",
  "mobile": "9042843911",
  "gender": "male",
  "hashcode": "DfAbMqLApAV6nVa1z940",
  "username": "anandhsp21",
  "password": "74bcff7d1199012e154f364e3f65e31d:8I",
  "authorized_person": "Anandh",
  "created": "2015-06-08 13:46:55",
  "modified": "2015-06-08 06:43:35",
  "logdate": "2015-06-08 08:16:55",
  "lognum": "12",
  "reload_acl_flag": "0",
  "is_active": "1",
  "extra": "N;",
  "rp_token": null,
  "rp_token_created_at": null,
  "app_name": "",
  "api_key": ""
}] 

请帮助一下。在此先感谢

7 个答案:

答案 0 :(得分:2)

您获取数组中的数据,因此请在成功数据中使用循环

for (var i=0; i<data.length; i++) {
    console.log('success' + data[i].user_id );
}

如果您知道记录长度为1,则直接使用

 console.log('success' + data[0].user_id );

答案 1 :(得分:1)

您的数据是包含一个对象的数组。因此,您可以使用以下方法访问此对象:

success: function(data){
    console.log('success' + data[0].user_id );

尝试记录success毫无意义,因为收到的数据中没有success密钥。

答案 2 :(得分:1)

确保以适当的json格式获得响应,并且正如harshad指出的那样,String male应该用双引号括起来。

修复后,您可以访问user_id:

data[0].user_id

答案 3 :(得分:1)

data.success未定义,因为收到的数据直接存储在data中。这是成功阻滞的第一个论点。您可以通过data[0]直接访问接收的数据以获取数组内的对象,或者如果您有一个更大的数组,则可以为每个循环执行一次等等。

答案 4 :(得分:1)

Try this, simply use json.parse()

$(document).ready(function() {
  var v = ['{"user_id":"139","mobile":"9042843911"}'];
  var obj = JSON.parse(v);
  alert(obj.user_id);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

答案 5 :(得分:1)

要获取用户ID,请按照我编辑的以下代码

$('User_id').observe('blur', function(e) {
   var txt = $('User_id').value;
   jQuery.ajax({
   type: 'get',
   url: BASE_URL + 'admin/index/user_id',
   data: {
     user_id: txt
   },
   dataType: 'json',
   success: function(data) {
     // this below userid is the value user_id you want.
     var userid = data[0].user_id;
  }
 });
});

答案 6 :(得分:0)

有一个json错误

"gender":male

字符串男性应该用双引号括起来。

您需要确保根据JSON.org标准适当格式化您的回复。