0
ここでいくつかの回答を見てきましたが、それらはすべてjQueryの.ajax()
メソッドを使用しています。私はいくつかの成功と一緒に使用しているトリミングダウンバージョンであるバニラJSメソッドがあります。
function ajax(options){
var settings = {
method : 'POST',
url : 'endpoint.php',
data : null,
done : function(){},
fail : function(){},
complete : function(){}
};
if(options) for(option in options) settings[option] = options[option];
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function(){
if (xhttp.readyState == 4){
if(xhttp.status == 200){
settings.done(xhttp.responseText);
} else {
settings.fail(xhttp.responseText);
};
settings.complete(xhttp.responseText);
};
};
xhttp.open(settings.method, settings.url, true);
xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
xhttp.send(settings.data);
};
次は、このファイルを新しいFormData()
オブジェクトに割り当てる関数です。
function beginUpload(index){
var file = files.files[index];
var pkg = new FormData();
pkg.append('file', file);
pkg.append('size', file.size);
ajax({
data : pkg,
done : function(res){
console.log(res);
}
});
};
は今、ここで問題です:私が見つけたすべてのチュートリアルと例では、要求が完了した後、ファイルが$_FILES
グローバル変数に発見されることを言います。私にはvar_dump()
と20034の応答があり、私にとっては$_FILES
は空ですが、$_POST
はありません。 $_POST
には、その内部のファイルのように見えます。すべてのphp.ini設定を確認しましたfrom this question。
ありがとう、ヘッダーは私を混乱させる。 –