2011-09-28 35 views
1

在PHP文件,了jQuery,添加PNG数据到SRC ATTR〜

... 
... 
header('Content-type: image/png'); 
imagepng($image1); 

在HTML中使用jQuery(加载后,插入图像数据)

$(document).ready(function(){ 
    $.ajax({ 
      "url": 'righturl/thephp.php', 
      "type": 'POST', 
      "data": {}, 
      "success":function(result){ 
       $("#hey").attr({"src":result}); 
      } 
     }) 
}); 

但是这使得刚刚二进制数据插入。 看不到图像。

<img id="hey" src="�PNG ��� IHDR������������j��� �IDATx�<�ٳ��q��U�[����}���eV�u0�@�Hɔ��P���?9�;�7�[M��D"�7`���C����=��ݷ����[m�~hH�P�|*��9'�����]X߸z���'v���?�w����/jQ�k�Ӗ��I����U��sOO������NǾ�M:�`H�!~���O^9����k�����w{W��k��<�����^��O��o���߄�4�#\�������ݟ�,/�q�ة�����H ����{�mC�N��4��ifl�@"�(�j�y9��|��իW��3���KKM-�����Ν;[��Q1��H� !z���4*-��������VVVvG��~#���Ή��A����`S���X3�a6A�00KCD�1���|���ML�&5��G�Rk���N��a�����E��>�ӡ�<�H1��P3#hA�Y�03(��LD���$Q��Ss#i*FEq�UC�����hQ7�E...1��Y�@���T�7q�?���&31HL�O��4������������3 �rj�鳗�U�Z�E�����(WC�on��7_M늽�|�]0��*v}@36�{�<�(��g�@��[email protected]%"F�"$��`2�QIfQ-b�rB33W$&�_�a�4l[kvy���5�)"A-�<:��:r�� ��^|�%��kJYUcJf��ui�6�� �̌��TTPA#��u�n�,�;�s���6 ��Y �R���AqВ}Q� �>`(�,}a��d]Rfed�FhH���U9q�U��t������b2"O�Kyc��<�m�1_:[Y��Tm�����߮���q�ic�q��yv:�ǁ��{�A�d#5K>��yo���5�������W-N��ߡ��eT�7���ۣ��Ӄ���A�bhH۾�m/+��ٔ�Lr`EjU�UI!眽3��~+���rZU؋����90����"$c�ө;����F���(}���g�����??훵�aG�ˢ�F)�zM�m2w�����D��|����IEND�B`�"> 

任何想法动态插入图像数据到src attr?

+0

你可能会更好本地保存的图像在你的PHP文件,然后返回路径返回到AJAX调用。这种方式不那么杂乱。 – Clive

+0

我知道的方式,但管理这些创建的图像并不容易,所以我试图这样做。 –

回答

8

我认为你需要像

<img id="hey" src="righturl/thephp.php" /> 

因此,如果必须的jQuery

$("#hey").attr({"src":"righturl/thephp.php"}); 

还是我失去了一些东西?

+0

这应该是工作,但这不适合我。事实上,我使用codeigniter uri。 –

+0

uri会造成一些问题吗?我不知道... –

+0

将网址直接粘贴到浏览器的地址栏中,你会看到什么? –

1

将图像数据直接插入到src属性中将无法工作。该属性期望只有一个字符串类型的值。改为尝试this way

+0

合理地http://php.net/manual/en/function.serialize.php - 评论 - 也将有助于你。 – reporter

+0

序列化不适用于我。不管怎样,谢谢你。 –

1

你需要Base64编码的图像数据,并使用Data URI scheme

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" /> 
+0

谢谢你的回答 –