前段時間介紹過jquery uploadify上傳插件的使用方法,我在使用中遇到過Http Error 302錯誤問題,應該會有不少人在使用中遇到過,在此記錄下來:
首 先http 302是請求被重定向的意思,這就很容易理解了,若是你的uploadify處理上傳腳本有session驗證,就會出現此錯誤,由於flash在執行 post請求的時候沒有包含cookie信息,而服務器的session會根據客戶端的cookie來獲得SESSIONID。沒有提交cookie天然 就不能獲取到session,而後uploadify就返回了302(請求被重定向)的錯誤。
解決辦法固然是把session_id的值傳到服務端:
<script>
$(document).ready(function() {
$('#file_upload').uploadify({
'uploader' : 'uploadify/uploadify.swf',
'script' : 'uploadify.php',
'folder' : 'uploads/file',
'formData': { 'session': '<?php echo session_id();?>'},
'onComplete' : function(event, ID, fileObj, response, data) {
alert(response);
}
});
});
</script>
而後在服務器端session驗證以前:
if (isset($_POST['session'])){
session_id($_POST['session']);
session_start();//注意此函數要在session_id以後
}
固然,你也能夠直接在url中將session id傳過去。