シュトレンうまい

先日、立川シネマシティで『ガールズ&パンツァー 最終章 第4話』を見てきました。

関東に行ったタイミングでちょうど上映中だと行きたくなりますね。

今話は、ほぼ試合シーンかつ推しのチョビちゃんも出ているということで言わずもがな最高でした。

以下は、javascriptの話です。

ajaxでファイルを送る際、いつもは .serialize() したデータを送っていましたが、画像データが含まれていた場合、ファイル転送ができませんでした。

調べてみると、.serialize() や.serializeArray() を使用するとform内のinput type=file属性の要素が除外されるらしいです。

file属性も転送したい場合は以下で送ることができました。

submitでフォーム送信した時と同じデータを送ることになります。

{-- formDataオブジェクトを作成 --}}
let formData = new FormData($('#input_form').get(0));


let url = "{!! route('tulta.tulta.tulta') !!}" 

$.ajax({
	url: url,
	type: "POST",
	dataType: "text",
	data: formData,
	processData: false,
	contentType: false,
}).then(
	function (data) {
		{{-- 成功時 --}}
		$("#start").modal("open");
		$("#" + id).removeClass("disabled");
	},
	function() {
		{{-- 失敗時 --}}
		$("#ajax_error_modal").modal("open");
	}
);