Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Jquery解析JSON数据以设置背景图像_Php_Jquery_Json - Fatal编程技术网

Php 使用Jquery解析JSON数据以设置背景图像

Php 使用Jquery解析JSON数据以设置背景图像,php,jquery,json,Php,Jquery,Json,我正在使用另一个开发人员的代码,客户要求我升级。 我需要做的是使用Jquery检索PHP文件生成的内容并对其进行解析,以便在页面中使用文件中的元素。生成的内容采用JSON格式,如下所示: { "productid": "3621", "id": "24", "title": "Oak+Veneer+26mm", "description": "Oak+Veneer%2C+26mm+width%2C+21mm+deep%2C+14mm+rebate",

我正在使用另一个开发人员的代码,客户要求我升级。 我需要做的是使用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
        }));
$.getJSON('/getframedata.php'{
id:$(this.attr(“id”)
}, {
获取参数:“frameimagetop”
},函数(数据){
$.each(数据、函数(索引、元素){
$('#框架顶部')。附加($(''{
text:element.name
}));
我知道上面不会设置div的背景图像,但目前我甚至无法让它打印文本。

$.getJSON('/getframedata.php',function(data){
$.getJSON('/getframedata.php', function(data) {
    var bgImage = data.frameimagetop;
    <code...>
});
var bgImage=data.frameimagetop; });
有关更多详细信息,请访问jQuery API:
与成功/失败处理程序等类似。

您提供的JSON是一个对象。这意味着您不应该通过迭代(使用$.each)来获得确切的值。例如,如果您需要“frameimagetop”属性,您可以这样做:
对象。属性\u name
。在您的示例中,它是:

$.getJSON('/getframedata.php', 
    { id: $(this).attr("id") },
    function(data) { 
       alert(data.frameimagetop);
    }
);

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 + ")");
});

我要补充的是,最好不要依赖jQuery猜测并输出json内容类型:header('content-type:application/json')。谢谢@msplay,根据您的建议,我制定了这个解决方案:$.getJSON('/getframedata.php',{id:$(this.attr(“id”)},函数(data){var bgImage=data.frameimagetop;$('#frame#top').css('background-image',url)(/data/customframes/'+bgImage+');});希望这对其他人有帮助!我格式化了您的代码块,以便您可以看到其中明显的结构缺陷,JSON块似乎还可以。