乱码乱a∨中文字幕,在线免费激情视频,亚洲欧美久久夜夜潮,国产在线网址

  1. <sub id="hjl7n"></sub>

    1. <sub id="hjl7n"></sub>

      <legend id="hjl7n"></legend>

      當前位置:首頁 >  站長 >  編程技術 >  正文

      ajax使用formdata上傳文件流

       2020-12-16 11:41  來源: 腳本之家   我來投稿 撤稿糾錯

        阿里云優(yōu)惠券 先領券再下單

      這篇文章主要為大家詳細介紹了ajax使用formdata上傳文件流,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

      今天在做項目的時候涉及到了ajax上傳文件流的問題,由于是移動端兩個頁面的兩個表單使用同一個ajax地址進行上傳數(shù)據(jù)給后臺,數(shù)據(jù)中涉及到了不同類型的input,其中存在了file類型的input,導致無法使用表單序列化直接傳輸數(shù)據(jù)。

      只存在傳遞一般的參數(shù)時,可以使用$("#表單id").serialize()對form表單序列化,從而將form表單中的所有參數(shù)傳遞到服務端。而上傳文件的文件流時無法被序列化并傳遞的,因此使用了FormData的對象進行文件上傳。具體formdata的使用可以參見:官網(wǎng)

      //html如下
      //form1
      <form class="col-xs-12 register-form" id="registerForm" method="post" action="">
      <div class="form-group col-xs-wap tc">
      <div class="col-xs-2">
      <i class="icon i-store"></i>
      </div>
      <div class="col-xs-10">
      <input type="text" class="form-control" placeholder="店鋪名稱" id="shopName" name="shopName">
      </div>
      </div>
      <div class="form-group col-xs-wap tc">
      <div class="col-xs-2">
      <i class="icon i-user"></i>
      </div>
      <div class="col-xs-10">
      <input type="text" class="form-control" placeholder="本人姓名" id="name" name="name">
      </div>
      </div>
      </form>
      //form2
      <form action="" method="post" class="mt10" id="registerForm2">
      <input id="frontPhoto" name="frontPhoto"/>
      <input id="backPhoto" name="backPhoto"/>
      <input id="handlePhoto" name="handlePhoto"/>
      </form>

      $("#btn-register-confirm").click(function () {
      //upRegister()是表單驗證,這就沒有給出了
      if (upRegister()){
      var form=$("#registerForm2")[0];//第二個表單的id,注意[0]不能漏掉
      var fd=new FormData(form);
      //由于后臺接收的數(shù)據(jù)只能是序列化之后的樣子,所以將第一個表單的字段存放在cookie中。通過fd.append()以鍵值對形式存放
      fd.append("shopName",$.cookie("shopName"));
      fd.append("name",$.cookie("name"));

      $.ajax({
      type:'post',
      async: false,
      url:"url",
      data:fd,
      processData:false,//因為data值是FormData對象,不需要對數(shù)據(jù)做處理。
      contentType:false,//因為是由<form>表單構造的FormData對象,所以這里設置為false。
      success:function(data){
      if (data.resultCode=="0"){
      webToast("成功注冊!");
      console.log("成功注冊");

      }
      },
      error:function(){
      console.log("注冊失敗");
      }
      })
      }
      });

       

      以上就實現(xiàn)了ajax上傳文件流及一般參數(shù)。這主要涉及到2方面:

      不同頁面的不同表單要放在同一個按鈕觸發(fā)同一個ajax傳輸?shù)椒掌?,使用cookie先存儲一個表單數(shù)據(jù),這可能會麻煩些并且不安全,但目前我也只想到了這種方式,如果有更好的歡迎補充;

      ajax上傳文件流,要注意var fd=new FormData($("#表單id")[0]);[0]千萬要帶上,我就是因為這個弄了一整天才好。processData:false, contentType:false,還有ajax的這兩個參數(shù)要寫為false,具體原因上面已經(jīng)寫了。

      更多精彩內(nèi)容請參考專題《ajax上傳技術匯總》,《javascript文件上傳操作匯總》和《jQuery上傳操作匯總》進行學習。

      以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

      來源:腳本之家

      鏈接:https://www.jb51.net/article/172333.htm

      申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

      相關標簽
      ajax

      相關文章

      • Ajax實現(xiàn)頁面無刷新留言效果

        這篇文章主要為大家詳細介紹了Ajax實現(xiàn)頁面無刷新留言效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

        標簽:
        ajax
      • AJAX檢測用戶名是否存在的方法

        這篇文章主要為大家詳細介紹了AJAX檢測用戶名是否存在,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

        標簽:
        ajax
      • 使用AJAX 包含正則表達式 驗證用戶登錄的步驟

        這篇文章主要介紹了使用AJAX(包含正則表達式)驗證用戶登錄的步驟,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

        標簽:
        ajax
      • Spring MVC+ajax進行信息驗證的方法

        AJAX不是新的編程語言,而是一種使用現(xiàn)有標準的新方法。這篇文章主要介紹了SpringMVC+ajax進行信息驗證,需要的朋友可以參考下

        標簽:
        ajax
      • 利用Ajax檢測用戶名是否被占用的完整實例

        這篇文章主要給大家介紹了關于如何利用Ajax檢測用戶名是否被占用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

        標簽:
        ajax

      熱門排行

      信息推薦