第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 ajax 通過(guò) HTML 中的 FormData 通過(guò)多部分表單發(fā)送數(shù)據(jù)和文件

使用 ajax 通過(guò) HTML 中的 FormData 通過(guò)多部分表單發(fā)送數(shù)據(jù)和文件

胡說(shuō)叔叔 2023-08-21 17:17:39
在下面的代碼中,我能夠傳輸數(shù)據(jù),但是當(dāng)我使用函數(shù)追加來(lái)傳輸文件和數(shù)據(jù)時(shí),它不起作用。有人可以告訴我如何從上傳中傳輸文件嗎?期待一些幫助$(document).ready(function() {  var loader = '<img src="../assets/media/loader.gif" />';  $('#submit').click(function() {    confirm("Do you really want to send messages?");    $('.loading').html(loader).fadeIn();    var msg_area_cst = $('textarea[name=msg_area_cst]').val();    var num_cst = $('textarea[name=num_cst]').val();    var form_data = new FormData();    form_data = 'msg_area_cst=' + msg_area_cst + '&num_cst=' + num_cst;    form_data.append('upload', $('input[name=upload]'));    $.ajax({      url: "../server/CustomMsg.php",      type: "POST",      data: form_data,      success: function(html) {        if (html == 1) {          $('#register_form').fadeOut('slow');          $('.loading').fadeOut();          $('.message').html('Successfully Sent ! ').fadeIn('slow');        } else           alert('Sorry, unexpected error. Please try again later.');      }    });  });});
查看完整描述

2 回答

?
呼如林

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊

問(wèn)題是因?yàn)槟_聲明了一個(gè)FormData對(duì)象,但隨后在下一行中立即用字符串覆蓋它。


您需要將append() 所有數(shù)據(jù)添加到 FormData 對(duì)象中。此外,您需要向append()方法提供文件數(shù)據(jù),而不是引用控件的 jQuery 對(duì)象input type="file"。


var form_data = new FormData();

form_data.append('msg_area_cst', msg_area_cst);

form_data.append('num_cst', num_cst);

form_data.append('upload', $('input[name=upload]')[0].files[0]);

話(huà)雖這么說(shuō),如果您從中讀取值的控件包含在元素中,則可以使事情變得更加簡(jiǎn)單form。然后您可以使用submit該表單的事件并將對(duì)其的引用傳遞給 FormData 構(gòu)造函數(shù)。


confirm()另外,您也不會(huì)對(duì)單擊“我假設(shè)您想停止表單提交”的結(jié)果執(zhí)行任何操作Cancel,上面的示例現(xiàn)在使用preventDefault().


最后,使用起來(lái)html == 1很不可靠。首先html是一個(gè)字符串,因此依賴(lài)于整數(shù)的隱式類(lèi)型強(qiáng)制并不理想。此外,如果包含任何空格,返回純文本響應(yīng)可能會(huì)導(dǎo)致問(wèn)題。我強(qiáng)烈建議您更改服務(wù)器端邏輯以返回序列化格式(例如 JSON),并使用布爾值作為“成功”標(biāo)志。


話(huà)雖如此,試試這個(gè):


$('#yourForm').on('submit', function(e) {

  if (!confirm("Do you really want to send messages?")) {

    e.preventDefault();

  }

  

  $('.loading').html(loader).fadeIn();


  $.ajax({

    url: "../server/CustomMsg.php",

    type: "POST",

    data: new FormData(this),

    success: function(html) {

      if (html.trim() === "1") {

        $('#register_form').fadeOut('slow');

        $('.loading').fadeOut();

        $('.message').html('Successfully Sent ! ').fadeIn('slow');

      } else

        alert('Sorry, unexpected error. Please try again later.');

      }

    }

  });

});


查看完整回答
反對(duì) 回復(fù) 2023-08-21
?
慕村9548890

TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊

試試這個(gè)ajax代碼


  $.ajax({

     url: "../server/CustomMsg.php",

     type: "POST",

    data: form_data,

    contentType: false,

        cache: false,

        processData:false,

         async: true,

  success: function(html) {

    if (html == 1) {

      $('#register_form').fadeOut('slow');

      $('.loading').fadeOut();

      $('.message').html('Successfully Sent ! ').fadeIn('slow');

    } else 

      alert('Sorry, unexpected error. Please try again later.');

  }

});


查看完整回答
反對(duì) 回復(fù) 2023-08-21
  • 2 回答
  • 0 關(guān)注
  • 181 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)