0

画像を json として db に保存し、javascipt を使用して画像を表示しようとしています。しかし、画像を表示することはできません。HTMLコードimg srcがnullを表示するバグを発生させてみました。

db テーブルからデータを取得するための私の php コードは次のとおりです。

<?php
header('Content-type: application/json');

include 'connect.php';

$b_id=$_GET['b_id'];
$c_id=$_GET['c_id'];

$sql_select=mysql_query("SELECT * FROM business_directory WHERE business_category_id=$b_id") or die(mysql_error());

$records = array();

if(mysql_num_rows($sql_select)>0){

while($row=mysql_fetch_array($sql_select)){
    $records[] = $row;  
}
echo $_GET['jsoncallback'] . '(' . json_encode($records) . ');';
}else{

    echo 'data not selected';
}
?>

ここにJavaScriptコードがあります:

function get_business(){

$.ajax({
        url:'http://localhost/ajax_practice/php/get_business.php',
        dataType: 'jsonp',
        jsonp: 'jsoncallback',
        timeout: 5000,

        success:function(data){
            $.each(data, function(i,item){
                var output="";
                    $(".gallery").append(output);

                        output+="<li>";

                        output+="<a href='category.html?b_id="+item.id+"' data-transition='slide' rel='external'>";
                        output+="<img src='"+item.business_icon+"'/>";
                        output+="<span>"+item.business_name+"</span";
                        output+="</a>";
                        output+="</li>";
                    $(".gallery").append(output);


            });
        }
    });

}

データベースからデータを取得し、javascript を使用して表示する方法を教えてください。

4

4 に答える 4

1

jsonではバイナリ形式で送ることができないので、base64文字列にエンコードして文字列として送ることができます。クライアント側で使用できます

<img src="data:image/jpg;base64,base64Data" />

base64Data - サーバーからの base64 文字列

詳しい情報をご覧いただけます、

JavaScript を使用して画像データを表示する

于 2013-06-08T06:56:33.643 に答える
0

使用できます

output +="<img style='width: 30px; width:50px;' src='data:image/png;base64,"+item.business_icon+"' />";
于 2019-05-28T18:00:06.643 に答える