Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menghantar Kedua-dua Fail dan Data Rentetan dengan FormData() dan jQuery AJAX?

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

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-22 14:39:021007semak imbas

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>
  2. Tambah Data Fail:
    a. Untuk satu fail:

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

    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>
  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>
  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>

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!

Kenyataan:
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