Bagaimana untuk Menghantar Kedua-dua Fail dan Data Rentetan dengan FormData() dan jQuery AJAX?

Mary-Kate Olsen
Lepaskan: 2024-10-22 14:39:02
asal
883 orang telah melayarinya

How to Send Both File and String Data with FormData() and jQuery AJAX?

Menyiarkan Kedua-dua Fail dan Data Rentetan dengan FormData() dan jQuery AJAX

Ia selalunya perlu untuk menghantar kedua-dua fail dan data rentetan input melalui Permintaan AJAX. Untuk mencapainya menggunakan FormData(), ikuti langkah berikut:

  1. Buat Objek FormData:

    <code class="js">var fd = new FormData();</code>
    Salin selepas log masuk
  2. Tambah Data Fail:
    a. Untuk satu fail:

    <code class="js">fd.append("file", file_data);</code>
    Salin selepas log masuk

    b. Untuk berbilang fail:

    <code class="js">var file_data = $('input[type="file"]')[0].files; // for multiple files
    for(var i = 0;i<file_data.length;i++){
        fd.append("file_"+i, file_data[i]);
    }</code>
    Salin selepas log masuk
  3. Tambah Data Rentetan:

    <code class="js">var other_data = $('form').serializeArray();
    $.each(other_data,function(key,input){
        fd.append(input.name,input.value);
    });</code>
    Salin selepas log masuk
  4. Hantar Data dengan AJAX:

    <code class="js">$.ajax({
        url: 'url',
        data: fd,
        contentType: false,
        processData: false,
        type: 'POST',
        success: function(data){
            alert(data);
        }
    });</code>
    Salin selepas log masuk

Dengan mengikut langkah ini, anda boleh menghantar kedua-dua fail dan data rentetan input dalam objek FormData dan permintaan AJAX yang sama.

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Kedua-dua Fail dan Data Rentetan dengan FormData() dan jQuery AJAX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Artikel terbaru oleh pengarang
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!