關於post請求上傳檔案和其它資料
阿新 • • 發佈:2018-12-11
1,背景: 在網上搜索這個問題得到的答案只有上傳檔案的單一上傳方式,並沒有說如果還需要其它請求引數的時候該如何處理。 2,解決方案: 通過append來加入其它請求引數,在上傳的時候還是用data:fromlsdata來上傳 3,相關程式碼:
handleUpload = () => { var formData = new FormData(document.getElementById("file"));//繫結下面的id名 //下面是請求引數名+請求引數的資料新增進fromdata中 formData.append("title",this.state.title) formData.append("year",this.state.year) formData.append("saveTerm",this.state.saveTerm) formData.append("seriesNumber",this.state.seriesNumber) formData.append("liablePerson",this.state.liablePerson) formData.append("level",this.state.level) formData.append("dateString",this.state.dateString) formData.append("archiveCategoryId",1537430848544) // console.log(formData.get("dataString")) //這個是驗證程式碼是否有新增進去 // var formData = new FormData(document.getElementById("file")); $.ajax({ url: "http://localhost:3006/archiveDocument/add", type: "POST", data: formData, processData: false, contentType: false, dataType: "json", success: function (data) { console.log(data) let Data=eval(data); // this.props.getFather.state.try.getList(); if(Data.state===0){ alert(Data.message) } }, error: function (data) { alert(1) } })
return部分 <Card title=“附件” bordered={false} style={{ margin:30 }}>//card 是採用了antd的ui設計語言
<form id=“file” method=“post” encType=“multipart/form-data” style={{display:“flex”}}> </div>
</Card>