2017-05-19 1 views
0

젠드 프레임 워크 2에서 만든 프로젝트에 파일 업 로더를 넣는 작업을했습니다. 저는이 초심자입니다.젠드 프레임 워크에서 일반적인 Ajax 호출을 시도하는 중 2

내가 프로젝트에 익숙해 졌던 Zend Skeleton Application의 구조를 따르지 않기 때문에 프로젝트의 구조가 혼란 스럽습니다. 예 : 이 프로젝트에는 module.config 파일이 없습니다.

일반적인 AJAX 호출을 사용했기 때문에 EXCEPTION_NO_CONTROLLER 유형의 오류가 발생합니다. 그리고 저는 ZF2에서 전형적인 아약스 호출을 끌어내는 방법을 찾으려고합니다.

HTML 및 AJAX 호출은 다음과 같습니다 cupload.php에

<form id="fileupload" method="POST" enctype="multipart/form-data"> 

<div class="row"> 
    <input name="files[]" type="file" multiple/> 
</div> 

<div class="row"> 
    <input type="submit" class="btn btn-success" value="Submit"/> 
</div> 

<div id="content" class="row"> 
</div> 

</form> 


<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
<script type="text/javascript"> 

$(document).ready(function(){ 

    $('#fileupload').on('submit', function(e){ 

      e.preventDefault(); 
      $.ajax({ 
       url: "upload.php", 
       type: "POST", 
       data: new FormData(this), 
       contentType:false, 
       processData: false, 
       success: function(data, textStatus){ 

        $("#content").html("data: " + data + " status: " + textStatus); 
       }, 
       error: function(data,textStatus){ 

       alert("data: " + data + " status: " + textStatus);    
       } 
      }); 
     }); 

}); 

</script> 

내가 가진 :

<?php 

$options = array(
    'db_host' => 'hostname', 
    'db_user' => 'username', 
    'db_pass' => 'password', 
    'db_name' => 'dbname', 
    'db_table' => 'dbtable' 
); 

if (is_array($_FILES)){ 
    // MYSQL and PHP logic goes here  
} 

답변

0

개념적으로, 프런트 엔드 jQuery 코드가 백에 요청을 PHP 코드 끝. ZF2 애플리케이션에서 이러한 요청은 라우트, 컨트롤러 및 작업을 통해 처리됩니다.

  • 는 업로드를 처리하는 경로를 추가 :에

    그래서, 당신이 필요합니다. 이것은 클라이언트 측 코드 (jQuery)가 요청을해야하는 URL과 요청을 처리하고 응답을 반환하는 백엔드 컨트롤러/액션 사이의 매핑을 정의합니다.

  • 컨트롤러 및 동작 구현 라우팅 및 컨트롤러/액션 - -

다른 ZF2의 설정은 처음 두 단계 달성 경로로 표시되는 URL을 사용하도록 프런트 엔드 코드 수정 경로에 정의 된, 다른 방법을하지만, 일반적으로 기존 모듈 또는 새 모듈로 정의됩니다. 그러한 것들에 대한 표준 설정은 ZF2 docs에 설명되어 있습니다.

관련 문제