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

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

發送后處理程序未檢索表單數據

發送后處理程序未檢索表單數據

PHP
一只名叫tom的貓 2023-10-21 15:59:04
我正在嘗試通過 ajax 將圖像發送到 ajax 處理程序。ìmage如果我console.log我發送的變量,它看起來很好。截至目前,我正在將其發送給處理程序并嘗試將其回顯。但我得到的答復是空白的。我正在向image: formData內部發送一個我希望沒問題的對象。阿賈克斯:var form_data = new FormData();              var image = $('#newImage').prop('files')[0];              var image_name = image.name;              var image_extension = image.name.split('.').pop().toLowerCase();              if(jQuery.inArray(image_extension, ['gif', 'jpg', 'JPG', 'pjpeg', 'x-png', 'png', 'PNG', 'jpeg']) == -1) {                alert("Invalid Image File Type")              }              var image_size = image.size;              if(image_size > 700000) {                alert("Image too big!");              } else {                form_data.append('file', image);              }              let data = {                action: 'NewEventExhibition',                name: name,                description: description,                notes: notes,                status: status,                slug: slug,                start_date: start_date,                end_date: end_date,                event_code: '<?=$code?>',                image: form_data              };              $.ajax({                url: '/modules/ajax/ajax_handler.php',                type: 'POST',                data: data,                contentType: false,                cache: false,                processData: false,                mimeType: 'multipart/form-data',                success: function(response) {                  alert(response);                },                fail: function(response) {                  console.log(response);                }              })            }          });處理程序if($_FILES['file']['name'] != '') {          $test = explode(".", $_FILES['file']['name']);          $extension = end($test);          $name = rand(100, 999).'.'.$extension;          $location = "/assets/images/".$name."";          move_uploaded_file($_FILES['file']['tmp_name'], $location);          echo $location;        }```
查看完整描述

1 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

這不是使用 ajax 發送 FormData 對象的方式。該form_data對象應該是您發送的內容,而不是更大對象的一部分。我建議您將對象的所有字段附加data到form_data并發送。


像下面這樣:


form_data.append('action', 'NewEventExhibition');

form_data.append('name', name);

form_data.append('description', description);

form_data.append('notes', notes);

form_data.append('status', status);

form_data.append('slug', slug);

form_data.append('start_date', start_date);

form_data.append('end_date', end_date);

form_data.append('event_code', '<?=$code?>');

而不是let data = { .... }.


然后你可以發送它


$.ajax({

  url: '/modules/ajax/ajax_handler.php',

  type: 'POST',

  data: form_data,

  contentType: false,

  cache: false,

  processData: false,

  mimeType: 'multipart/form-data',

  success: function(response) {

    alert(response);

  },

  fail: function(response) {

    console.log(response);

  }

});

請注意data: form_data.


查看完整回答
反對 回復 2023-10-21
  • 1 回答
  • 0 關注
  • 110 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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