這是我的情況。我有一個照片管理頁面,其中包括1)照片上傳模板2)照片細節模板3)特色照片模板4)照片庫5)動態導航欄。最初,照片上傳模板被設置爲提交給自己並使用cffile上傳新照片的表單。這很好,直到我試圖添加jquery回調刷新成功上傳的細節,特色照片和圖庫容器 - 但我發現在提交表單並上傳照片後,我附加到表單提交的任何其他函數按鈕不運行。因此,我決定將提交按鈕更改爲類型「按鈕」,並使用jquery .ajax()來上傳文件,這樣我就可以在成功時添加回調。我的代碼爲目前爲止的ajax方法是:coldfusion ajax jquery文件上傳不起作用
$.ajax({
url: 'Administration/PhotoManagement/uploadPhotos.cfm',
type: 'POST',
data: { Add: 'add',
NewFilename: file_name,
shortName: short_name,
description: description
},
contentType: 'multipart/form-data',
success: function(response, status, xhr){
$('#upload').html(response);
// refresh gallery, featured pic, details
alert('success');
}
},
error: function(xhr, status){
alert(status + ' ' + xhr.statusText);
}
});
在提交時,我得到500內部服務器錯誤。 Firebug控制檯報告數據正確發佈,但圖像沒有上傳,並且我沒有收到來自圍繞cffile的try/catch錯誤代碼的錯誤消息。
我沒有結婚的任何一種方法 - 我會很好回到原來的方法,如果我可以讓回調工作。有什麼建議麼?如果您認爲我應該繼續使用ajax方法,那麼您會推薦我怎樣解決我的錯誤?
編輯:在上面的代碼中,我已經添加類型:
無效的內容類型:多重/表單數據,因爲我已經從周圍的標籤我try/catch塊得到一個錯誤,應用程序/ x -www窗體-urlencoded;字符集= UTF-8
500錯誤的詳細信息是什麼?使用螢火蟲或一些代理(查爾斯)來獲得細節。 – Lucas
你有沒有嘗試過使用jQuery ajax文件上傳插件? – tsurahman
盧卡斯,我無法在工作中使用代理服務器。 Firebug不會給我500錯誤的細節;它顯示了一個?本地主機後。刪除「type:multipart/form-data」會導致錯誤消失,但是我的cffile標籤會給我提供上面列出的「無效內容類型」錯誤。 – earachefl