私はこのように私は決して応答する操作を得る要求を行うとき。 さて、私は応答 として取得***アレイ ( [名] =>マスタリングは ...ネイティブ(2).PDF [タイプ] =>アプリケーション/ PDF を反応させるのが、私は、ユーザーにファイルを表示する必要があります。情報
<form id='formid'>
<input id='fileid' type='file' name='file1' hidden/>
<input type='submit' value='IMPORT'/>
</form>
<script>
$(document).on("submit", "form", function (e) {
e.preventDefault();
var fdat = new FormData(this);
fdat.append('operation', 'IMPORT');
function importFile() {
return $.ajax({
url: "data-source/oracle_controller_upload.php",
type: 'POST',
dataType: "JSON",
data: fdat,
processData: false,
contentType: false,
success: function(response){
}
});
}
debugger;
importFile().done(function (result) {
}).fail(function() {
});
});
</script>
これは私のPHPコードです:
if (@$_REQUEST['operation'] === "IMPORT" && $_FILES) {
echo print_r($_FILES['file1']);
return;
}
カントは、成功コールバックまたは済()のいずれかに達する。助けてください?
if (@$_REQUEST['operation'] === "IMPORT" && $_FILES) {
echo json_encode($_FILES['file1']);
return;
}
で解決
あなたはあなたが得る_do_何の行動言っていない、または任意のエラーなどが、私はまずあなたのページの投稿を推測するだろう。デフォルトのsubmitアクションがページ全体をポストするのを止めるには、関数内の最初の行に 'e.preventDefault();'を書く必要があります。 $ .ajaxはプロミスを返すので、 "submit"ハンドラからの返り値は意味をなさない。通常はブール値を返すだろう。 – ADyson
あなたの "done"は別の関数を待っているようだが、あなたとは何も関係ないフォーム提出"importFile()"は何をしますか? – ADyson
もちろん私はe.preventDefault()を持っています。 –