亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP通過AJAX上傳圖片數據

PHP通過AJAX上傳圖片數據

PHP
慕森卡 2023-04-28 15:20:42
我正在嘗試將產品上傳到我的 PHP 上傳系統,其中包括多個變量和圖像。我正在使用ajax函數來傳輸字符串變量和newForm()(與從中獲取的圖像相關的input[type="file"])。主要目標是upload.php使用我從 ajax 獲取的數據上傳文件中的圖像和字符串。但是傳遞圖像值有麻煩,一旦我將所有數據(包括圖像)一起發送,系統就無法傳遞數據,因為我被迫使用 ,否則processData: false無法運行 ajax 功能。此屬性阻止將整個數據傳輸到我的 PHP 文件。我怎樣才能克服processData: false影響,傳輸多個字符串并newForm()使用 AJAX 來upload.php歸檔?阿賈克斯:      var proname = $('#proname').val();      var prodescription = $('#prodescription').val();      var content = $('#content').val();      var price = $('#price').val();      //Main image upload      var file_main = $('#file').prop('files')[0];      var main = new FormData();      main.append('file', file_main);      //Serval images upload      var file_images = $('#files').prop('files')[0];      var images = new FormData();      images.append('files', file_images);      //Checkboxes      var tag = new Array();      $("#tag input:checked").each(function() {         tag.push($(this).val());      });      var color = new Array();      $("#color input:checked").each(function() {         color.push($(this).val());      });      //Ajax data transfer to upload.php      $.ajax({          type: 'POST',          dataType: 'json',          processData: false,          url: 'upload.php',          data: { proname: proname,                  prodescription: prodescription,                  content: content,                  price: price,                  tag: tag,                  color: color,                  file: main,                  files: images                }, // All the data as $_GET in php          cache: false,          success: function (result) {            $('#success').html(result);            console.log(result);          }        });目前這是輸出:注意:未定義索引:D:\XAMPP\htdocs\ugreen\cpanel\upload.php 中第 22 行的 proname注意:未定義索引:D:\XAMPP\htdocs\ugreen\cpanel\upload.php 第23行的prodescription注意:未定義索引:第24行D:\XAMPP\htdocs\ugreen\cpanel\upload.php中的內容注意:未定義索引:價格在D:\XAMPP\htdocs\ugreen\cpanel\upload.php
查看完整描述

2 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

在這里,我將只使用 FormData 類的一個實例。


var data = new FormData();

data.append('proname', proname);

data.append('prodescription', prodescription);

data.append('content', content);

data.append('price', price);

data.append('tag', tag);

data.append('color', color);

data.append('file', $("#file")[0].files[0]);


$.each($("#files")[0].files, function(i, file) {

    data.append('files[]', file);

});

在 ajax() 調用中更改/添加:


data: data, // change

contentType: false, // add


查看完整回答
反對 回復 2023-04-28
?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

我使用以下代碼上傳我的表單數據,包括圖像/文件。希望能幫助到你。


let yourForm = $('#yourForm');

let actoin = // your action page;

$.ajax({

        url: action,

        data:new FormData(yourForm[0]),

        async:false,

        type:'post',

        processData: false,

        contentType: false,

        success: function (data) {

           // your code here

        },

        error: function (data) {

            // your code here

        }

    });


查看完整回答
反對 回復 2023-04-28
  • 2 回答
  • 0 關注
  • 135 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號