JSON数据无法通过jquery返回每个函数

时间:2014-04-15 09:31:01

标签: jquery ajax json

 $(function () {
    $.ajax({
        url: 'image/show',
        dataType: 'json',
        success: function (data) {
            $.each(function (i, item) {
                alert(item.ratio);
            });
        }
    });
 });

像这样获取数据:

{"id":2,"ratio":0.66666666666667,"src":"public\/media\/flickr\/13842755234_c8e89150b1_m.jpg"}{"id":3,"ratio":1.0491803278689,"src":"public\/media\/flickr\/13845062983_00fd2bebe2_n.jpg"}{"id":4,"ratio":1.5015015015015,"src":"public\/media\/flickr\/13845347184_24ca8d4e5d.jpg"}

问题:我可以通过我的JQUERY CODE警告数据。我的代码中有什么错误?

我想也许这些数据格式会出错。

public function show() {

    $dirname = "public/media/flickr/";
    $images = scandir($dirname);
    $ignore = Array('.',"..");

    foreach ($images as $key=>$curimg) {
        if (!in_array($curimg, $ignore)) {
            $imagefile = $dirname.$curimg;
            list($width,$height) = getimagesize($imagefile);    
            $ratio = $width/$height;
            $data = array(
                    'id' =>$key,
                    'ratio' => $ratio,
                    'src' => $imagefile);
            echo json_encode($data);
        }

    }
}

我的php函数错误。我在foreach中犯了一个错误。

2 个答案:

答案 0 :(得分:1)

尝试,

 alert(data.ratio);

这里不需要.each()

完整代码,

 $(function () {
    $.ajax({
        url: 'image/show',
        dataType: 'json',
        success: function (data) {
            alert(data.ratio);
        }
    });
 });

答案 1 :(得分:0)

你的$。每次都错了,应该是:

$.each(data, function(index, item) {
 alert(item.ratio)
})