2012-02-01 73 views
2

我試圖使用jQuery Form Plugin來實現「ajax like」文件上傳,並且它在Chrome中正常工作,但我在Firefox中遇到了一個奇怪的錯誤。jQuery表格插件 - 文件上傳錯誤

這裏是我的代碼:

HTML:

<form action="upload.php" action="POST" id="upload" enctype="multipart/form-data"> 

    <input type="file" name="file"> 

    <input type="submit" value="Upload"> 

</form> 

JS:

$('#upload').ajaxForm({     
    beforeSubmit: ShowRequest, 
    success: SubmitSuccesful, 
    error: AjaxError        
}); 

    function ShowRequest(formData, jqForm, options) { 
     var queryString = $.param(formData); 
     alert('BeforeSend method: \n\nAbout to submit: \n\n' + queryString); 
     return true; 
    } 

    function AjaxError() { 
     alert("An AJAX error occured."); 
    } 

    function SubmitSuccesful(responseText, statusText) {   
     //alert("SuccesMethod:\n\n" + responseText); 
     $('#output').html('<img src="'+responseText+'">'); 
    } 

正如預期的那樣,在Chrome中選擇文件並單擊上傳後,文件上傳,然後顯示,沒有頁面重新加載 - 但在Firefox中,upload.php腳本(實際上傳圖像並返回路徑的腳本)以完整的php下載到本地機器。

任何想法將不勝感激,歡呼!

回答

0

您是否檢查了請求和響應頭中的MIME類型?你可以通過在Firefox中打開firebug來達到目的。您可以在「網絡」選項卡中看到請求和響應標題。