現在のコードでは、ファイルをアップロードするときにファイル名を取得しています。アップロードした後、私はファイル名を爆発させ、私が得ている応答を以下に示します。私の問題は、どのようにjQueryでデータを取得し、htmlで追加できるかです。どのように応答データを追加できますか?
jQueryのアラート応答では、" Localization,dummy "
がどのようにこれらの2つのデータを別々に追加できますか。
コンソール:レスポンス
{"success":true,"exploded_filename":["Localization","dummy"],"id":"2"}
コンソール:JSON
success true
exploded_filename ["Localization", "dummy"]
0 "Localization"
1 "dummy"
id "2"
jqueryのドロップゾーンで
Dropzone.options.myDropzone = {
// Prevents Dropzone from uploading dropped files immediately
autoProcessQueue: true,
parallelUploads: 20,
uploadMultiple: true,
maxFilesize: 10,
maxFiles: 20,
init: function() {
myDropzone = this; // closure
// You might want to show the submit button only when
// files are dropped here:
this.on("success", function(file, responseText) {
myDropzone.removeFile(file);
if(responseText.success == true){
$(".createProcessEntriesFileUpload").show();
$("#my-dropzone").hide();
$("#filenameFormGroup").show();
$(".createProcessEntriesMessage").hide();
alert(responseText.exploded_filename);
$("#filename").append('<a class="btn btn-sm btn-default download" href="" data-file="">'+responseText.exploded_filename+'</a> <a href="" class="removeProcessEntryFile" style="color: #333; cursor: pointer;"><button type="button" class="btn btn-primary btn-xs" data-toggle="modal" data-target="#exampleModal" data-whatever="@mdo">Add file detail</button></a><br>');
/*setTimeout(function() {
location.href = '<?php echo url("/");?>/customers/list/process/<?php echo $id;?>/entries';
}, 3000);*/
};
});
}
};
コントローラーページ
public function storeFile(ProcessEntriesRequest $request, $id)
{
$files = $request->file('file');
foreach($files as $file){
$orginalName = $file->getClientOriginalName();
$split_file = explode('.', $orginalName);
$exploded_filename[] = $split_file[0];
$extension = $file->getClientOriginalExtension();
$filename = str_random(10);
Storage::disk('local')->makeDirectory($request->entryID, 0777);
Storage::disk('local')->put($request->entryID.'/'.$filename.'.'.$extension, File::get($file));
}
return response()->json(['success' => true, 'exploded_filename' => $exploded_filename, 'id' => $id]);
}
'responseText.exploded_filename [0]' – rmondesilva
@rmondesilva "responseText.exploded_filename [0]"を使用している場合、結果は "L"になります。応答は "Localization、pdf"です。 – Rahul