2016-07-25 2 views
0

WordPress에 있습니다. 파일과 함께 양식을 제출하고 파일을 받아야합니다. 나는 아주 잘 텍스트 필드 데이터를 얻고 있지만, 파일 :( 을 잡을 수없는 내 코드는 아래에있다.jQuery AJAX 파일로 제출 양식

HTML

<form method="POST" class="JsFormPro" enctype="multipart/form-data"> 
    <table> 
     <tr> 
      <td> 
       <textarea name="WordText" id="WordText" class="WordText" cols="30" rows="10"></textarea> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <input type="file" id="WordFile" class="WordFile" name="WordFile"> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <input type="submit" name="" value="Submit"> 
      </td> 
     </tr> 
    </table> 
</form> 

내 jQuery를하고 AJAX 코드있다

var form = $('.JsFormPro'); 
form.on('submit', function(e){ 
    e.preventDefault(); 
    $.ajax({ 
     dataType : 'json', 
     type: "POST", 
     url: 'hit.php', 
     data : {action : 'count_word_prism', Post : form.serialize()}, 

     beforeSend: function(){ 
     }, 

     success: function(Response){ 
     } 
    }); 
}); 

나는 이미 시도했다 PHP 코드가있다.

extract($_POST); 
if ($Post) { 
    parse_str($Post, $get_array); 
    echo"<PRE>"; 
    print_r($get_array['WordText']); 
    echo"</PRE>"; 

    echo"<PRE>"; 
    print_r($_FILES['WordFile']); 
    echo"</PRE>"; 
} 

해결책이 있으면 답을 게시하십시오.

+1

시도 게시 파일을 참조 http://stackoverflow.com/questions/166221/ how-can-i-upload-files-asynchronously? s = 1 | 10.9107 – guest271314

답변

0

다음 코드를 변경해야합니다. 완벽하게 작동합니다.

jQuery를하고 AJAX 코드

FormData` 객체 '에 추가
var form = $('.JsFormPro'); 
form.on('submit', function(e) { 
    var formData = new FormData(this); 
    formData.append('action', 'count_word_prism'); 
    e.preventDefault(); 
    $.ajax({ 
     dataType : 'json', 
     url: "hit.php", 
     type: "POST", 
     data: formData, 
     contentType: false, 
     cache: false, 
     processData: false, 
     beforeSend: function(){ 
     }, 
     success: function(Response){ 
     } 
    }); 
}) 

PHP 코드

<?php 
echo "<pre>"; 
print_r($_POST); 
print_r($_FILES); 
die; 
?>