【发布时间】:2017-04-14 18:35:17
【问题描述】:
我正在尝试使用 ajax 调用提交表单后上传图像,遇到一个让我烦恼的问题,新的 FormData($(this)[0]) 给了我实际值,但是每当我尝试通过 ajax 发送它时,它就会出现故障并重新加载页面,所以我也看不到控制台,请纠正我的错误。
我的 javascript 代码
$("#editImage").submit(function(){
var data = new FormData($(this)[0]);
console.log(data);
return false;
$.post("../galImages", data).done(function(response){
console.log(response);
});
return false;});
我的 HTML 代码
<form name="edit-image" id="editImage" action="" method="post" enctype="multipart/form-data"><input type="file" name="change-image" accept="image/*" class="form-control mb-20" value="Upload Image">
<input type="hidden" name="edit-img-id" id="editImageId"><input type="submit" class="btn btn-primary" value="Save Changes" id="submitEditImgForm"></form>
但是文件数据是在 PHP 页面中发布的,还有一件事是如何将隐藏字段值与 formdata 对象一起发送。我是 ajax $.post 方法的新手。如果有人有任何想法,请帮助我。
【问题讨论】:
-
在 jQuery
.submit中,您应该阻止处理表单/数据的默认行为吗?表单(其中的目标网址)呢? -
@OldPadawan 我已经更新了 html 部分
-
那么,我猜preventDefault 会这样做
-
现在抛出
Illegal invocation