AJAXオブジェクトが正しく構成されているように見え、正しいContent-Type / MIME-Typeヘッダーが送信されているため、jQueryにアップロードデータを渡せない理由がわかりません。
私は2つの別々の形式のリクエストを試しました。1つはリテラル内に含まれるFormDataオブジェクトを使用し、もう1つはFormDataオブジェクトを直接渡すだけです。
残念ながら、どちらの方法でも渡すことができず、$_FILESと$_POSTはどちらも空の配列です。
私が使用したい理想的なリクエストは次のとおりです。
次のコードとともに:
var files = new FormData();
$.each(context.prototype.fileData, function(i, obj) { files.append(i, obj.value.files[0]); });
var request = { action: 'upload', id: response.obj.id, data: files };
$.ajax({
type : 'POST',
url : context.controller,
data : request,
processData : false,
contentType : 'multipart/form-data',
mimeType : 'multipart/form-data',
success : function(r) {
console.log(r);
//if (errors != null) { } else context.close();
},
error : function(r) { alert('jQuery Error'); }
});
もう一度、$_FILESと$_POSTの両方をエクスポートしようとしたときの唯一の応答([ネットワーク]タブとコンソールの両方を見る)は、単に2つの空の配列です...