2016-07-02 5 views
-1

が、私は自分のコードに変更を加えたポストマルチパート/フォームデータ(画像とテキストの両方)のhtml - PHPの - SQL - AJAX

<html> 
<body> 
<form action="test.php" id="subscriber_form" method="post" enctype="multipart/form-data"> 
    <input type="text" id="title" name="title" ><br> 
    <input type="file" id="file" name="file" ><br> 
    <input type="submit" id="submit" value="submit"> 
    </form> 
    <div id="show_subscriber_msg"></div> 
<script src="js/jquery-1.7.1.min.js"></script>    

<script> 
$("form#subscriber_form").submit(function(){ 
$('#show_subscriber_msg').html('<div class=gen>Submiting..</div>'); 
e.preventDefault(); 
var formURL = $(this).attr("action"); 
var formData = new FormData($(this)[0]); 
$.ajax({ 
url: formURL, 
type: 'POST', 
data: formData, 
cache: false, 
contentType: false, 
processData: false, 
async: false, 
success: function (res) { 
          if(res=='1'){ 
           $('#show_subscriber_msg').html('<div class=gen>Thank you</div>'); 
          } 

          if(res=='5'){ 
          $('#show_subscriber_msg').html('<div class=err>Please enter a valid email address</div>'); 
          } 
         } 
}); 

}); 

</script> 

</body> 
</html> 

私のSQLテーブルを更新取得され、ファイルが 正しくディレクトリにアップロードされているが、それでも私はtest.phpにリダイレクトされています。私はちょうどバックグラウンドでtest.php私のPHPスクリプトを実行したい。

+0

また、この回答はおそらく解決策を見つけるのに役立ちます。[http://stackoverflow.com/a/38112505/5517143](http://stackoverflow.com/a/38112505/5517143) –

答えて

1

あなたのフォーム要素の変化はあなたのAJAX呼び出しは次のようになりますmultipart/form-data

<form id="subscriber_form" method="post" enctype="multipart/form-data"> 

にエンコードの種類を変更確認する必要があります。

$("form#subscriber_form").submit(function(e){ 
    e.preventDefault(); 
    var formURL = $(this).attr("action"); 
    var formData = new FormData($(this)[0]); 
    $.ajax({ 
    url: formURL, 
    type: 'POST', 
    data: formData, 
    cache: false, 
    contentType: false, 
    processData: false 
    async: false, 
    success: function (data) { 
     console.log(data); 
    } 
}); 

バックエンドの部分については、私はPHPをあまり詳しく説明していません。 Javaコードが必要な場合は、それを手伝ってください。

+0

したがって データ:formData は、ファイルを含むフォームから自動的に投稿データを取得します...そうですか? –

+0

はい。それが役に立つと分かったら、答えとして選択してください。 – piechuckerr

+0

投稿をクリックするとマイページがリフレッシュされています....私はバックグラウンドでデータを投稿したいと思います。 –

関連する問題