私はajaxを使用して、配列、テキストフィールド、ファイルを含むマルチパートフォームを送信しています。
各VARをメインデータに追加します
var attachments = document.getElementById('files');
var data= new FormData();
for (i=0; i< attachments.files.length; i++){
data.append('file', attachments.files[i]);
console.log(attachments.files[i]);
data.append ('headline', headline);
data.append ('article', article);
data.append ('arr', arr);
data.append ('tag', tag);
次に、ajax関数を使用してそれをPHPファイルに送信し、SQL DB内に格納します。
$.ajax({
type: "post",
url: 'php/submittionform.php',
cache: false,
processData: false,
contentType: false,
data: data,
success: function(request) {$('#box').html(request); }
})
しかし、PHP側arr
では、配列である変数は文字列として表示されます。
ajaxでフォームデータとして送信せず、単純な$.POST
オプションを使用すると、PHP側で配列として取得しますが、ファイルも送信できません。
解決策はありますか?