在下面的代碼中,我需要在函數中讀取變量的值ext(在函數內部定義reader.onloadend)xhr.onreadystatechange。眼下正在回歸undefined。任何想法如何解決這個問題?function file_upload(file_input) { var name = file_input.dataset.target; var url = file_input.dataset.url; var path = file_input.dataset.path; var ext; for(var i = 0; i<file_input.files.length; i++) { var file = file_input.files[i]; var xhr = new XMLHttpRequest(); xhr.open("POST", url, true); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { var id = xhr.responseText; var input = document.createElement("input"); input.setAttribute("type", "hidden"); input.setAttribute("name", name); input.setAttribute("value", id); document.getElementById("btn_uload_"+name+"_"+ext).append(input); document.getElementById("empty_file").style.display = 'none'; document.getElementById("single_file_"+ext).style.display = 'block'; } }; var reader = new FileReader(); reader.onloadend = function() { var bytes = reader.result; var ext = file.name.split(".").pop(); var formData = new FormData(); formData.append('bytes', bytes); formData.append('type', ext); xhr.send(formData); } reader.readAsDataURL(file); }}
如何在 XMLHttpRequest.onreadystatechange 回調函數中讀取
一只名叫tom的貓
2022-01-07 10:44:27