在fileuploader POST响应中获取额外的引号

时间:2012-07-19 16:00:25

标签: php javascript

我正在使用Valum的fileuploader 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被大写,然而,那些额外的引用正在给我造成严重破坏。

这是如何解决的?谢谢

的index.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));
?>

1 个答案:

答案 0 :(得分:1)

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

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

使用以下方式创建图像:

$('<img>').attr('src', responseJSON.icon); //...