錯誤 $.ajaxFileUpload is not a function 表示 **jQuery 物件上找不到該方法**,常見原因:
ajaxfileupload.js **載入失敗** (路徑錯誤、404、CORS)。ajaxfileupload.js 在 jquery.min.js **之前** 載入。$.ajaxFileUpload 掛載點。jquery.min.js、**然後** ajaxfileupload.js 狀態碼 **200**,且 Initiator** 正確。ajaxfileupload.js 內容,搜尋 $.ajaxFileUpload 或 jQuery.ajaxFileUpload 是否存在。<script src="/js/jquery.min.js"></script>
<script src="/js/ajaxfileupload.js"></script> <!-- 必須在 jQuery 之後 -->
<script>
$('#uploadBtn').click(function() {
$.ajaxFileUpload({ // 此時 $ 已掛載方法
url: '/api/upload',
fileElementId: 'fileInput',
dataType: 'json',
success: function(res) { console.log(res); }
});
});
</script>
現代專案建議改用 **原生 fetch + FormData** 或 **axios**,無需額外插件:
const form = new FormData();
form.append('file', document.getElementById('fileInput').files[0]);
fetch('/api/upload', { method: 'POST', body: form })
.then(r => r.json()).then(console.log);
排查 Network 面板是定位「is not a function」類錯誤的黃金法則。