2013-07-03 30 views
0

我已經努力做出上傳圖片的ajax請求,並使用了下面的一段代碼。Ajax圖像上傳在Internet Explorer中導致意外輸出

<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'; 
     } 
?> 

成功時我是exepcting jQuery來提醒success和它的作品完美的罰款在Chrome和其他瀏覽器,但是當涉及到IE 7作爲輸出警報[object Object]但我希望它是success

有誰能告訴我我犯了什麼錯誤。任何幫助是極大的讚賞。

+0

它的作品,如果我使用result.text()在IE中,但使用這似乎不工作在鉻:( – niko

回答

0

在upload.php的,而不是使用呼應

echo 'success'; 

你輸出可以使用函數json_encode返回對象的JSON表示。

這樣你就可以用JavaScript解析json,並在警報中使用解析的字符串。 此方法比您使用的方法更乾淨,並且可能與舊版本的IE兼容(您可能還需要使用JSON.stringify函數將解析的JSON轉換爲字符串)。

0

可能是JSON對象未在IE8和IE7

創建

添加JSON.js文件在你的頁面