문제: 브라우저에 "[object FormData]" 및 빈 "업로드" 폴더 server.
해결책: jQuery AJAX를 사용하여 파일을 성공적으로 업로드하려면 업로드된 파일을 처리하고 원하는 위치로 이동하는 서버 측 스크립트가 필요합니다.
다음 업데이트된 jQuery 스크립트는 다음과 같은 서버측 PHP 스크립트를 가리킵니다. "upload.php":
$("#upload").on("click", function() { var file_data = $("#sortpicture").prop("files")[0]; var form_data = new FormData(); form_data.append("file", file_data); $.ajax({ url: 'upload.php', dataType: 'text', cache: false, contentType: false, processData: false, data: form_data, type: 'post', success: function(php_script_response){ alert(php_script_response); } }); });
다음 "upload.php" 스크립트는 업로드된 파일의 오류를 확인하고 "uploads" 디렉터리로 이동합니다. :
<?php if (0 < $_FILES['file']['error']) { echo 'Error: ' . $_FILES['file']['error'] . '<br>'; } else { move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']); } ?>
PHP를 사용하여 서버에서 파일 이름을 바꾸려면:
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/my_new_filename.whatever');
위 내용은 '[object FormData]'가 표시됨에도 불구하고 jQuery AJAX 파일을 PHP로 업로드하는 데 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!