微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

$.jquery ajax返回的数据(json)显示为’undefined’

这里我有一个简单的 PHP脚本,它以json格式显示数据库中的一些值.
$source = $_GET['source'];

$query = MysqL_query("SELECT * FROM images WHERE big_thumb = '" . $source . "'");

$results = array();

while($row = MysqL_fetch_array($query))
{
   $results[] = array(
      'title' => $row['title'],'date' => $row['upload_date'],'time' => $row['upload_time']
   );
}

$json = json_encode($results);

echo $json;

显示正常,继承人输出示例:

[{"title":"Torus","date":"2012-04-04","time":"23:06:14"}]

然后,当单击图像时,将调用此jquery:

var image_src = $(this).attr("alt"); // <= This works fine

    $.ajax({
        url: 'inc/get_image_details.PHP',data: {source : image_src},dataType: "json",success: function(data)
        {
            title = data.title;
            alert(title);

            date = data.date;
            alert(date);

            time = data.time;
            alert(time);
        }
    });

但是,(标题,日期和时间)变量在警告框中显示为“未定义”.
我已经尝试了多种实现ajax调用方法,每次都会发生同样的事情.
这是我第一次尝试它,但我无法理解.

解决方法

您的json字符串具有数组格式.您需要像这样访问json对象属性
title = data[0].title;
alert(title);

date = data[0].date;
alert(date);

time = data[0].time;
alert(time);

如果您控制json格式并且不需要数组,请使用具有此格式的json对象.

{"title":"Torus","time":"23:06:14"}

在这种情况下,您可以保持现在的代码.

原文地址:https://www.jb51.cc/jquery/178266.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐