2016-10-15 2 views
1

이 나는 ​​이미지를 업로드하고 요청을 보낼 때 로컬 웹 서버PHP 에코 jQuery를 AJAX 요청

<?php 
    header('Access-Control-Allow-Origin: *'); 
    if (0 < $_FILES['file']['error']) { 
     echo 'Error: ' . $_FILES['file']['error'] . '<br>'; 
    } 
    else { 
     move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']); 
     $target_path = $_SERVER['DOCUMENT_ROOT'] . "/uploads/" . $_FILES['file']['name']; 
     echo $target_path; 
    } 
?> 

에이 upload.php있는 이미지 파일

$('#upload-image').change(function(e){ 
    var file = e.target.files[0]; 
    var imageType = /image.*/; 
    if (!file.type.match(imageType)) 
     return; 
    console.log(file); 
    var form_data = new FormData(); 
    form_data.append('file', file); 
    console.log(form_data); 
    $.ajax({ 
     url: 'http://localhost/upload.php', 
     cache: false, 
     contentType: false, 
     processData: false, 
     data: form_data, 
     type: 'POST', 
     success: function(response){ 
      console.log(response); 
     }, 
     error: function(error){ 
      console.log(error); 
     } 
    }); 
}); 

을 업로드 내 jQuery를 요청입니다. 그것은 upload.php의 완전한 코드 라인을 리턴하고 기록한다. 내가 원하는 echo 커맨드 라인의 결과가 아니다. 콘솔 네트워크 탭을 확인하고 응답이 upload.php의 완전한 코드를 제외한 아무것도 아닌지 확인하십시오. 진정으로 서버 측은 아무 것도 처리하지 않습니다. 나는 무엇을 잘못 했는가?

+1

왜 이것을 사용하고 있습니까? contentType : false, processData : false,? – Aschab

+0

@Aschab 이미지 파일을 업로드하는 방법을 찾았고 해당 옵션을 사용하도록 안내했습니다. – necroface

+0

@Aschab 해당 옵션을 사용하지 않으면 이미지를 업로드 할 수 없습니다. – necroface

답변