我正在使用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));
?>
答案 0 :(得分:1)
为什么不直接在post.php中发送图片的网址,然后在javascript中构建IMG-Element?
<?php
echo json_encode(array('icon' => 'http://google.de'));
?>
使用以下方式创建图像:
$('<img>').attr('src', responseJSON.icon); //...