1

我正在使用另一个开发人员的代码,客户要求我对其进行升级。我需要做的是使用 Jquery 来检索 PHP 文件的生成内容并解析它们,以便我可以在页面中使用文件中的元素。生成的内容为 JSON 格式,如下所示:

    {
    "productid": "3621",
    "id": "24",
    "title": "Oak+Veneer+26mm",
    "description": "Oak+Veneer%2C+26mm+width%2C+21mm+deep%2C+14mm+rebate",
    "mouldingimage": "L1545a.jpg",
    "frameimagetop": "L1545_top.jpg",
    "frameimagebottom": "L1545_bottom.jpg",
    "frameimagevertical": "L1545_vert.jpg",
    "unitprice": "0.18",
    "banda": {},
    "bandb": {},
    "bandc": {},
    "bandd": {},
    "bande": {},
    "notes": {},
    "code": "L1545",
    "deliveryperiodid": "107",
    "deliverybandid": "64",
    "supplierid": "115",
    "date": "2011-10-07+16%3A27%3A32",
    "active": "0",
    "previousunitprice": {}
}

我需要从上面的数据中获取 'frameimagetop' 的值,然后使用它来设置 div 的背景图像。

我试过做以下变体,但我无法让它工作:

$.getJSON('/getframedata.php', {
    id: $(this).attr("id")
}, {
    get_param: 'frameimagetop'
}, function (data) {
    $.each(data, function (index, element) {
        $('#frame_top').append($('<div>', {
            text: element.name
        }));

我知道上面不会设置 div 的背景图像,但目前,我什至无法让它打印出文本。

4

3 回答 3

0
$.getJSON('/getframedata.php', function(data) {
    var bgImage = data.frameimagetop;
    <code...>
});

jQuery API 提供更多详细信息:http: //api.jquery.com/jQuery.getJSON/ 像成功/失败处理程序等...

于 2013-09-11T12:37:07.517 回答
0

您提供的 JSON 是一个对象。这意味着您不应该遍历它(您使用 $.each)来获得一些确切的值。即,如果您需要“frameimagetop”属性,您可以这样做:object.property_name. 在您的示例中,它将是:

$.getJSON('/getframedata.php', 
    { id: $(this).attr("id") },
    function(data) { 
       alert(data.frameimagetop);
    }
);
于 2013-09-11T12:40:42.057 回答
0

getJSON 是以下的快捷方式:

$.ajax({
    dataType: "json",
    url: url,
    data: data,
    success: success
});

大多数使用成功处理程序,因此:

$.getJSON('/getframedata.php', {
    id: $(this).attr("id")
}, function (data) {
    $('#frame_top').css("background-image", "url(" + data.frameimagetop + ")");
});
于 2013-09-11T12:57:11.343 回答