著作権のために完全なソース コードを提供することはできませんが、問題について詳しく説明します。
AJAX アップロードを使用してファイルをアップロードします。choose a file, delete it outside then submit it
Iの場合、リクエストが終了しないことを除いて、すべて問題ありません。問題は Firefox で発生します。これは図です:
public function inputAction()
{
// Get request.
$request = Request::createFromGlobals();
if($request->getMethod() == "POST" && $request->request->has("uploadFile")) {
var_dump("It should output this"); exit();
// In practice, It will run to this.
$request->request->set("finish", true);
}
// Set this to close loading dialog.
$request->request->set("finish", false);
// Render view.
return $this->render('frontendfrontBundle:Convert:input.html.php', array("bag" => $request->request));
}
私のフォーム
<form id="convertForm" method="post" action="<?php echo $view['router']->generate('Convert_input');?>" enctype="multipart/form-data" target="upload_target">
<!-- Used for file uploading -->
<iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe>
<input id="uploadFile" type="file" class="width_txt" name="uploadFile"/>
</form>
<?php
if($bag->get("finish", false) == true) {
?>
<script>
$(document).ready(function() {
window.parent.stopUpload();
});
</script>
<?php } ?>
Javascript
$("#convertForm").submit(function(e) { // onSubmit()
startUpload();
});