2015-10-16 79 views
0

我正在尝试从MySql和PHP的HTML中显示图像。成功显示图像ajax

我的Ajax请求

$.ajax({ 
    type : "POST",  
    url : "jsonajax.php", 
    data : { id: id }, 
    success : function(data){ 
     alert(data); 
     $('#dialog').dialog('open'); 
     $('#dialog').html('<img src='+ data + '" />'); 
    } 
}); 

我jsonajax.php

$id = $_REQUEST['id']; 
$sql = "SELECT img_url FROM table_name WHERE id = $id"; 
$res=$obj->_executeQuery($sql); 
$res=$obj->getAll($res); 
echo json_encode($res); 

现在alert(data)看起来像

[{"img_url":"images\/Jellyfish.jpg"}] 

我需要删除 '\' 和图像SRC追加到显示。

回答

0

尝试

JSON.parse(data) 

这将数据

0

解码添加dataType:"json"

$.ajax({ 
    type : "POST", 
    dataType: "json",  
    url : "jsonajax.php", 
    data : { id: id }, 
    success : function(data){ 
     alert(data); 
     $('#dialog').dialog('open'); 
     $('#dialog').html('<img src='+ data + '" />'); 
    } 
}); 

然后做data.img_url

+0

这是行不通的。我的回复看起来像这个'[{“img_url”:“images \ /Jellyfish.jpg”}]'。我需要把价值放在img src上。 – Loura

+0

将其添加到src属性中时删除反斜杠。 IMAGEURL = data.img_url; data = Imageurl.replace(/ \\“/ g,'''); – suresh

1

您需要添加一个数据类型,像 “类JSON”

0

你需要转换的字符串响应对象 - 这将自动地删除斜线:)

选择1:JSON.parse(data)

选2分析数据:您可以在$.ajax指定dataType: 'json'选项请求。

$.ajax({ 
    type : "POST",  
    url : "jsonajax.php", 
    data : { id: id }, 
    dataType: 'json', // This is what you're missing 
    success : function(data){ 
     $('#dialog').html('<img src='+ data.image_url + '" />'); 
     $('#dialog').dialog('open'); 
    } 
}); 

结帐的文档具体的数据类型选项:http://api.jquery.com/jquery.ajax/

0

作出这样的AJAX块(在您的情况):

$.ajax({ 
    type : "POST",  
    url : "jsonajax.php", 
    data : { id: id }, 
    dataType: 'json', 
    success : function(data){ 
     console.log(data); 
     $('#dialog').dialog('open'); 
     $('#dialog').html('<img src=' + data[0].img_url + '" />'); 
    } 
}); 

希望这有助于。

注意:请确保图像位于当前脚本的images文件夹中。