我已经解决了上传图片的ajax请求,我使用了下面的代码。
<form id="upload" method="post" action="upload.php" enctype="multipart/form-data">
<input type="file" name="upl"/>
</form>
<script> // all other jquery dependencies are added for ajax file upload
$(function(){
$('#upload').fileupload({
add: function (e, data) {
var jqXHR = data.submit();
},
success:function(result){
alert(result);
}
});
});
</script>
我的upload.php
<?php if(isset($_FILES['upl'])){
$file = 'some random name'; // generated using rand functions in php
if(move_uploaded_file($_FILES['upl']['tmp_name'],$file ))
echo 'success';
}
?>
成功之后,我希望jQuery能够提醒success
并且它在Chrome和其他浏览器中运行得非常好但是当它涉及到IE 7时它会警告[object Object]
作为输出,但我希望它是{{ 1}}
我在哪里弄错了?
答案 0 :(得分:0)
可能是在IE8和IE7中没有创建JSON对象
在页面中添加JSON.js文件
答案 1 :(得分:0)
在upload.php中,而不是使用
回显输出echo 'success';
您可以使用函数json_encode返回对象的JSON表示。
这样你就可以用javascript解析json并在你的警报中使用解析后的字符串。 此方法比您正在使用的方法更清晰,并且可能与旧版本的IE兼容(您可能还需要使用JSON.stringify函数将解析后的JSON转换为字符串)。