91aaa在线国内观看,亚洲AV午夜福利精品一区二区,久久偷拍人视频,久久播这里有免费视播

<strong id="fvuar"></strong>

  • <sub id="fvuar"><dl id="fvuar"><em id="fvuar"></em></dl></sub>

    1. 千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

      手機站
      千鋒教育

      千鋒學習站 | 隨時隨地免費學

      千鋒教育

      掃一掃進入千鋒手機站

      領取全套視頻
      千鋒教育

      關注千鋒學習站小程序
      隨時隨地免費學習課程

      當前位置:首頁  >  技術干貨  > formdata格式傳遞參數(shù)詳解

      formdata格式傳遞參數(shù)詳解

      來源:千鋒教育
      發(fā)布人:xqq
      時間: 2023-11-24 18:14:08 1700820848

      一、前端formdata格式傳遞參數(shù)

      前端通過表單或ajax請求時,通常使用formdata格式傳遞參數(shù)。利用表單的方式傳遞參數(shù)相對簡單,只需要設置表單的enctype屬性為"multipart/form-data"即可。ajax請求時,需要創(chuàng)建FormData對象,并使用append()方法添加鍵值對,示例如下:

      
      let formData = new FormData();
      formData.append("username", "admin");
      formData.append("password", "123456");
      
      $.ajax({
        url: "/login",
        type: "POST",
        data: formData,
        processData: false,
        contentType: false,
        success: function(data) {
          console.log(data);
        }
      });
      

      二、formdata格式傳參數(shù)

      formdata格式的參數(shù)傳遞支持多種數(shù)據(jù)類型,如文本、文件等。對于文本數(shù)據(jù),可以直接使用FormData對象的append()方法添加鍵值對;對于文件數(shù)據(jù),則需要通過File對象創(chuàng)建,再使用FormData的append()方法添加。示例如下:

      
      let formData = new FormData();
      formData.append("username", "admin");
      formData.append("file", file); // file為File對象
      
      $.ajax({
        url: "/upload",
        type: "POST",
        data: formData,
        processData: false,
        contentType: false,
        success: function(data) {
          console.log(data);
        }
      });
      

      三、formdata格式參數(shù)樣式

      formdata格式的參數(shù)傳遞樣式與常規(guī)的鍵值對數(shù)據(jù)相似,使用鍵值對的形式添加參數(shù),示例如下:

      
      Content-Disposition: form-data; name="username"
      
      admin
      

      四、formdata數(shù)據(jù)格式請求

      在服務器端接收formdata格式傳遞參數(shù)時,需要使用特殊的解析方式。對于表單的方式傳遞,可以使用multipart/form-data格式解析;對于ajax請求,需要使用流的方式解析。示例如下:

      
      // 解析multipart/form-data格式
      const busboy = new Busboy({ headers: req.headers });
      busboy.on("file", (fieldname, file, filename, encoding, mimetype) => {
        // file為File對象
      });
      busboy.on("field", (fieldname, val, fieldnameTruncated, valTruncated, encoding, mimetype) => {
        // val為字段值
      });
      req.pipe(busboy);
      
      // 解析流
      const form = new formidable.IncomingForm();
      form.parse(req, (err, fields, files) => {
        // fields為鍵值對數(shù)據(jù),files為文件數(shù)據(jù)
      });
      

      五、formdata和json傳遞的區(qū)別

      formdata格式和json格式都是一種常用的參數(shù)傳遞方式。formdata格式主要用于傳遞二進制數(shù)據(jù)或文件,而json格式則用于傳遞結構化數(shù)據(jù)。

      在使用ajax請求時,如果需要傳遞二進制數(shù)據(jù)或文件,則必須使用formdata格式;如果傳遞結構化數(shù)據(jù),則可以使用json格式。示例如下:

      
      $.ajax({
        url: "/login",
        type: "POST",
        data: { username: "admin", password: "123456" }, // json格式
        success: function(data) {
          console.log(data);
        }
      });
      
      $.ajax({
        url: "/upload",
        type: "POST",
        data: formData, // formdata格式
        processData: false,
        contentType: false,
        success: function(data) {
          console.log(data);
        }
      });
      

      六、formdata是什么

      FormData是一種對象類型,可以用來獲取表單元素的值,創(chuàng)建鍵值對數(shù)據(jù)或者二進制數(shù)據(jù),然后使用XMLHttpRequest或fetch API將數(shù)據(jù)提交到服務器端。可以使用append()添加鍵值對或二進制數(shù)據(jù),使用delete()刪除鍵值對數(shù)據(jù),使用entries()獲取一個用于迭代所有鍵值對的迭代器,使用get()獲取指定鍵名的鍵值對數(shù)據(jù)等等。示例如下:

      
      let formData = new FormData();
      formData.append("username", "admin");
      formData.append("file", file);
      
      console.log(formData.get("username")); // admin
      console.log(formData.getAll("file")); // [File]
      console.log(formData.entries()); // 返回一個迭代器
      formData.delete("username");
      console.log(formData.has("username")); // false
      

      聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
      10年以上業(yè)內強師集結,手把手帶你蛻變精英
      請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
      免費領取
      今日已有369人領取成功
      劉同學 138****2860 剛剛成功領取
      王同學 131****2015 剛剛成功領取
      張同學 133****4652 剛剛成功領取
      李同學 135****8607 剛剛成功領取
      楊同學 132****5667 剛剛成功領取
      岳同學 134****6652 剛剛成功領取
      梁同學 157****2950 剛剛成功領取
      劉同學 189****1015 剛剛成功領取
      張同學 155****4678 剛剛成功領取
      鄒同學 139****2907 剛剛成功領取
      董同學 138****2867 剛剛成功領取
      周同學 136****3602 剛剛成功領取
      相關推薦HOT