如何实现表单提交数据同时提交图片,提交方式使用ajax方法,求解
var input = document.querySelector('input[type="file"]') var data = new FormData() data.append('file', input.files[0]) data.append('param', 'value') // 其它参数 fetch('/url', { method: 'POST', body: data })
input[type="file"] 这块是代表什么
@一句我爱不如我在: 就是你选择文件那个 input 框
<input type="file">
@by.Genesis: data.append('file', input.files[0])这块显示input.files[0]找不到这个值呀
@一句我爱不如我在: 选择文件之后就会有
@by.Genesis: 我代码块是这样的
form表单块:
<form name="add">
奖品商品ID: <input type="number" name="ldmCommodityId" id="ldmCommodityId">
<br>
抽奖活动ID: <input type="number" name="ldmLotteryId" id="ldmLotteryId">
<br>
图片: <input type="file" name="storeimgsrc" id="storeimgsrc">
<input type="hidden" name="ldmSwiperImagesId" id="ldmSwiperImagesId">
</form>
<button type="submit" onclick=postInfo("/addSwiperImage")>新增</button>
提交块:
var form = document.add;
if (form == null) {
console.log("---");
} else {
var obj = {};
for (var i = 0; i < form.length; i++) {
obj[form[i].name] = form[i].value;
}
var json = JSON.stringify(obj);
// httpPost(curWwwPath + "/login", json);
// loadXMLDoc(curWwwPath + "/login", json);
console.log(curWwwPath + url)
console.log(json)
var input = document.querySelector('input[type = "type"]')
var data = new FormData()
data.append('file', input.files[0])
data.append('param', json)
console.log(data)
testPost(curWwwPath + url, json);
function testPost(URL, PARAMS) {
console.log("-----------")
console.log(PARAMS)
var v =
$.ajax({
type: "post",
contentType: "application/json",
url: URL,
data: PARAMS,
success: function (data) {
alert(data)
console.log(data);
if (data == "success") {
alert("成功");
select();
hidden();
} else {
alert("失败")
postInfo()
}
}
})
}
@一句我爱不如我在: var input = document.querySelector('input[type = "file"]')
你写错了
@by.Genesis: ????,那该怎么改