0

我正在使用 Valum 的文件上传器http://valums.com/ajax-upload/

下面的 index.html 上传一个文件,而 post.php 返回一些 json。很抱歉没有制作 jsfiddle,但不知道如何实现 ajax 响应。

使用 FF,responseJSON.icon 是

<img src="http://www.tapmeister.com/test/doc.png" width="32" height="32" />

然而,对于 IE8,responseJSON.icon 是

<IMG src='"http://www.tapmeister.com/test/doc.png"' width='"32"' height='"32"' >

我对 img 大写没问题,但是,那些额外的引号给我造成了严重破坏。

这是如何解决的?谢谢

索引.html

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link href="fileuploader.css" rel="stylesheet" type="text/css"> 
    <style>body {font-size:13px; font-family:arial, sans-serif; width:700px; margin:100px auto;}</style>
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
    <script src="fileuploader.js" type="text/javascript"></script>
    <script>        
    $(function(){
        var uploader = new qq.FileUploader({
            element: document.getElementById('file-uploader-demo1'),
            action: 'post.php',
            onComplete: function(id, fileName, responseJSON){
                $('#icons').append('<li>'+responseJSON.icon+' '+$('<span/>').text(responseJSON.icon).html()+'</li>');
            },
            debug: true
        });
    });
     </script>
</head>

<body>      
    <div id="file-uploader-demo1"></div>
    <ul id="icons"></ul>    
</body>
</html>

post.php

<?php
$icon='<img src="http://www.tapmeister.com/test/doc.png" width="32" height="32" />';
$data=array('icon'=>$icon, 'other'=>'other data');
echo(json_encode($data));
?>
4

1 回答 1

1

为什么不直接在 post.php 中发送图像的 URL,然后在 javascript 中构建 IMG-Element?

<?php
echo json_encode(array('icon' => 'http://google.de'));
?>

创建图像使用:

$('<img>').attr('src', responseJSON.icon); //...
于 2012-07-19T16:07:54.280 回答