0

我有一个 php 文件,它为我的图像和相应的文本创建一个 json 数组:

<?php
$images = array(
"Image 1" => array("name" => "Image 1", 
            "price" => "$299", 
            "desc" => "Description 1",
            "image" =>"images/image1.jpg"),
"Image 2"   => array("name" => "Image 2", 
            "price" => "$199", 
            "desc" => "Description 2",
            "image" => "images/image2.jpg"),
"Image 6"   => array("name" => "Image 6", 
            "price" => "$199", 
            "desc" => "Description 6",
            "image" => "images/image6.jpg")
);

echo json_encode($images);

我的 jQuery 函数如下所示:

$(document).ready(function(){
var $div = $("#thumbs");
$.getJSON('getProducts.php', function(data) {
    jQuery.each(data, function(key, val){
        $("<img />").attr("src", val).appendTo($div);
    });
});
});

当我运行它时,我只会得到损坏的图像链接。萤火虫显示:

"NetworkError: 404 Not Found - http://localhost/wpdhw8/%5Bobject%20Object%5D"

在此先感谢您的帮助!

哦,我已将图像移至根目录,因此我从文件名中取出了“图像/”。

为了回答我自己的问题,我通过添加以下行为图像添加了标题:

$($div).append('<p>' + val.name + '</p>');

就在:

$("<img />").attr("src", val.image).appendTo($div);

我真的很感谢这个网站上的帮助!谢谢!

4

3 回答 3

1

线

$("<img />").attr("src", val).appendTo($div);

应该

$div.append('<img src="'+val+'" />');

编辑

哎呀误读了

对于任一行更改valval.image

于 2012-10-25T06:48:23.600 回答
1

它应该是:

$.getJSON('getProducts.php', function(data) {
    jQuery.each(data, function(key, val){
        $("<img />").attr("src", val.image).appendTo($div);
    });
});

每个val都是一个对象,例如:

{ name: "Image 1",
  price: "$299",
  desc: "Description 1",
  image: "images/image1.jpg"
}
于 2012-10-25T06:53:22.813 回答
0

您的网址“getProducts.php”不正确

也许它需要是'/getProducts.php'或有其他部分......从你的url如何删除域部分......

http://localhost.local/getProducts.php => /getProducts.php

404 Not found - 表示无法找到您设置的页面。

于 2012-10-25T06:46:34.437 回答