formData提交表單

用form標簽
<body>
  <form id="form1" action="http://localhost:8080/" method="post">
    用戶:<input type="text" name="user" /><br>
    密碼:<input type="password" name="pass" /><br>
    文件:<input type="file" name="f1" /><br>
    <input type="submit" value="提交">
  </form>
</body>
<script src="jquery.js" charset="utf-8"></script>
<script>
$('#form1').on('submit', function (){
  let formdata=new FormData(this);   // 通過這個表單構建FormData
  // 發(fā)送ajax請求(jQuery的ajax)
  $.ajax({
    url: this.action,
    type: this.method,
    data: formdata,
    processData: false,   // 阻止jQuery處理數據
    contentType: false   // 阻止修改contentType
  }).then(res=>{
    alert('成功');
  }, res=>{
    alert('失敗');
  });

  return false;    // 阻止表單自己提交
});
</script>

同時后臺服務器處理提交的數據,用multiparty

不用form標簽
<body>
  <div id="div1">
    用戶:<input type="text" id="user" /><br>
    密碼:<input type="password" id="pass" /><br>
    文件:<input type="file" id="f1" /><br>
    <input id="btn1" type="button" value="提交">
  </div>
</body>
<script>
let oBtn=document.querySelector('#btn1');
oBtn.onclick=function (){
  // 創(chuàng)建FormData
  let formdata=new FormData();
  // 給表單添加頁面輸入的值
  formdata.append('username', document.querySelector('#user').value);
  formdata.append('password', document.querySelector('#pass').value);
  formdata.append('f1', document.querySelector('#f1').files[0]);

  // 發(fā)送ajax請求(原生的ajax)
  let xhr=new XMLHttpRequest();

  xhr.open('post', 'http://localhost:8080/', true);
  xhr.send(formdata);

  xhr.onreadystatechange=function (){
    if(xhr.readyState==4){
      if(xhr.status==200){
        alert('成功');
      }else{
        alert('失敗');
      }
    }
  };
};
</script>

同時后臺服務器處理提交的數據,用multiparty

后臺
const http=require('http');
const multiparty=require('multiparty');

http.createServer((req, res)=>{
  let form=new multiparty.Form({
    uploadDir: './upload/'     // 上傳到同級目錄下的upload文件夾
  });
  form.parse(req);
  // 普通數據
  form.on('field', (name, value)=>{
    console.log('field:', name, value);
  });
  // 文件數據
  form.on('file', (name, file)=>{
    console.log('file:', name, file);
  });
  // 解析結束
  form.on('close', ()=>{
    console.log('完事兒');
  });
}).listen(8080);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,626評論 1 32
  • 思考:Web2.0的顯著特點信息共建,也就是用戶可以將自己想要分享的數據提交給服務器端。但是用戶能夠看到的是最終的...
    好像在哪見過你丶閱讀 1,282評論 0 1
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 28,796評論 1 45
  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當在唯一索引所對應的列上鍵入重復值時,會觸發(fā)此異常。 O...
    我想起個好名字閱讀 5,940評論 0 9
  • “很苦惱,我的妻子不是女人?!彼麑ξ艺f。 “不是女人?”我偏著頭看他。 “她喜歡開男人的車?!彼^低下去,我只能看...
    yarcy閱讀 562評論 3 5

友情鏈接更多精彩內容