Muat naik fail tanpa memuat semula dan mengembalikan nilai tersuai

PHPz
Lepaskan: 2018-10-12 15:56:51
asal
1206 orang telah melayarinya

Artikel ini berkongsi secara ringkas dengan anda kaedah dan contoh cara menyelesaikan masalah memuat naik fail tanpa menyegarkan dalam projek peribadi Rakan yang memerlukan boleh merujuknya.

Saya menghadapi masalah seperti itu semasa proses pembangunan hari ini: Excel perlu dimuat naik ke pelayan untuk menghurai, tetapi apabila dokumen itu tidak sesuai, saya berharap halaman itu tidak akan dimuat semula untuk menggesa pengguna bahawa dokumen tidak sesuai. Setelah berfikir panjang, saya dapati banyak maklumat di Internet dan akhirnya berjaya dalam percubaan saya akan berkongsi kaedah pemprosesan di sini:

Pertama sekali, izinkan saya bercakap tentang idea pemprosesan: tambahkan iframe tersembunyi pada halaman dan tetapkan atribut sasaran borang Tetapkan kepada id iframe, supaya apabila borang diserahkan, fail excel akan dihantar ke latar belakang dalam bentuk aliran fail operasi boleh dilakukan selepas menerimanya di latar belakang Maklumat yang dikembalikan akan dipaparkan dalam iframe tanpa melompat Sebelum iframe Tetapkan kepada tersembunyi, jadi halaman tidak akan berubah, dan kemudian hantar kandungan ke kaedah JS dalam tetingkap utama untuk langkah seterusnya pemprosesan tersuai.

Kod halaman adalah seperti berikut:

<form id="input" action="importExcel.jhtml" method="post" enctype="multipart/form-data" target="hiddenIFrame">
  <input id="excelFile" name="file" type="file" />
  <input type="submit" class="button" value="导入excel"/>
</form>
<iframe id=&#39;hiddenIFrame&#39; name=&#39;hiddenIFrame&#39; style="display:none;"></iframe>
Salin selepas log masuk

Kod JS adalah seperti berikut (jqeury perlu diperkenalkan):

$(function(){
  $("#hiddenIFrame").load(function(){
    var wnd = this.contentWindow;
    var str = $(wnd.document.body).html();
    callback(str);
  });
})
 
function callback(info){
  alert(info);
}
Salin selepas log masuk

Kod latar belakang tidak akan diperkenalkan secara terperinci Sama seperti penyerahan tradisional, latar belakang akan memperoleh aliran fail dengan nama yang sama berdasarkan nilai nama komponen input (untuk contoh, nama komponen input dalam kod halaman di atas ialah fail, kemudian latar belakang diterima Ia adalah aliran fail bernama fail), dan anda boleh melakukan operasi tersuai selepas menerimanya.

Untuk lebih banyak tutorial berkaitan, sila lawati Tutorial JavaScript

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!